Python文件打开读取写入方法实用案例

 更新时间:2023年05月05日 11:33:48   作者:山山而川'  
我们在工作中经常需要用python对文本文件进行内容的读取和写入,下面这篇文章主要给大家介绍了关于Python文件打开读取写入方法的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

前言

读写文件是最常见的IO操作。Python内置了读写文件的函数,用法和C是兼容的。

读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件)。

python中对文件的操作方法经常使用open和with open。下面分别介绍

open()方法

正常情况下,想要打开一个文件并且保证该文件会被关闭。使用open()方法,最后一定要保证关闭文件对象,即调用close()方法。原因是当我们写文件时,操作系统往往不会立刻把数据写入磁盘,而是放到内存缓存起来,空闲的时候再慢慢写入。只有调用close()方法时,操作系统才保证把没有写入的数据全部写入磁盘同时释放资源。忘记调用close()的后果是数据可能只写了一部分到磁盘,剩下的丢失了。语法格式如下

文件对象f = open(文件名,文件对象访问模式)

其中的文件对象访问模式如下

1. "w",打开一个新的文件并写入内容

这里对象访问模式使用"w",打开文件时,文件存在则清空内容,不存在则创建新的

f = open('1.txt','w')
f.write('今天一直在下雨\n')
f.write('把我整抑郁了\n')
f.write('o(╥﹏╥)o\n')
f.close()

2. "r",打开文件并读取内容

f = open("1.txt",'r')
print(f.read())        #读取全部内容
f.close()
f = open("1.txt",'r')   
print(f.readline())    #一个f.readline()只读第一行
f.close()
f = open("1.txt",'r')   #全部读,但是用列表的方式展示
print(f.readlines())
f.close()

3. "a",以追加内容的模式打开

上面使用"w"的时候文件存在则会清除内容,如果我们想要打开一个已经存在内容的文件并追加内容则可以使用"a"。如下打开存在的"1.txt"文件,并追加一行内容

f = open('1.txt','a')
f.write("帅哥出来玩吗")
f.close()

4. 创建一个空的文件

open("12.txt",'w').close()

with open()方法

open()使用后需要调用f.close()方法,但是每次都这么写实在太繁琐,所以,Python引入了with语句来自动帮我们调用close()方法。推荐使用with open()

with用于创建一个临时的运行环境,运行环境中的代码执行完后自动安全退出环境。

1. 打开并读取文件,每次读取一行内容

方法一:

with open('1.txt','r') as file:    
    for line in file:     #依次遍历
        #print(line)      #默认输出的内容会多一个换行
        print(line[:-1]) 

将网页的数据进行保存时有时需要指定编码类型,比如为utf-8。不确定可以查看网页源码的编码类型,这里保存和网页编码类型一样就行

with open('./2.html','w',encoding='utf-8') as f:

方法二:

直接使用循环也可以

for line in open("1.txt",'r'): print(line[:-1])

2. 打开并写入文件

with open('2.txt','a') as file:
    file.write("hello\n")
    file.write("are you ok?\n")

实用案例

需求

打开文件1.txt,1.txt的内容为一行行的ip地址。每次从里面读取一行数据加上"http://",然后将其保存到另外一个新的文件中

for ip in open("1.txt",'r'):
    url = "http://" + ip
    with open("url.txt",'a',,encoding="utf-8") as f: #这里必须以追加的模式打开,不然每次新增内容前都会清空
        f.write(url)
print('ok')

总结 

到此这篇关于Python文件打开读取写入方法的文章就介绍到这了,更多相关Python文件打开读取写入内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python基础之文件操作及光标移动详解

    Python基础之文件操作及光标移动详解

    这篇文章主要为大家介绍了Python基础之文件操作及光标移动详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • Python实现同时调用多个GPT的API

    Python实现同时调用多个GPT的API

    这篇文章主要为大家详细介绍了Python如何实现同时调用多个GPT的API,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-09-09
  • pycharm中创建sql文件及模板的过程

    pycharm中创建sql文件及模板的过程

    很多小伙伴刚开始使用pycharm时发现以前的老员工在使用pycharm创建sql文件时会自带文件头模板,例如时间、作者、版本、邮件等信息,这是怎么做到的呢,一起来看一下吧
    2022-07-07
  • 为什么选择python编程语言入门黑客攻防 给你几个理由!

    为什么选择python编程语言入门黑客攻防 给你几个理由!

    为什么选择python编程语言入门黑客攻防,小编今天给你几个理由!Python语言的优点、Python黑客攻击优点,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • Pytorch实现全连接层的操作

    Pytorch实现全连接层的操作

    这篇文章主要介绍了pytorch实现简单全连接层的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-05-05
  • python如何实现数组反转

    python如何实现数组反转

    这篇文章主要介绍了python如何实现数组反转问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • Django实现组合搜索的方法示例

    Django实现组合搜索的方法示例

    本篇文章主要介绍了Django实现组合搜索的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • python实现读取类别频数数据画水平条形图案例

    python实现读取类别频数数据画水平条形图案例

    这篇文章主要介绍了python实现读取类别频数数据画水平条形图案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • 解决使用Pycharm导入conda environment时找不到python.exe

    解决使用Pycharm导入conda environment时找不到python.exe

    今天在使用conda创建环境之后,使用pycham发现找到自己的python环境但是找不到环境对应的python.exe,这篇文章主要给大家介绍了关于如何解决使用Pycharm导入conda environment时找不到python.exe的相关资料,需要的朋友可以参考下
    2023-10-10
  • 详解如何利用Python实现报表自动化

    详解如何利用Python实现报表自动化

    这篇文章主要介绍了报表自动化的流程,并教你用Python实现工作中的一个报表自动化实战,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2023-03-03

最新评论