Python 如何对文件读取和写入

Python 在读取和写入一个文件的时候,需要创建一个文件对象(file object),然后才能进行读取写入。

文件对象

为什么需要文件对象

之所以要创建文件对象才能读写,是因为 Python 创建了一个中间层,这样用户就不用考虑底层的 io,通过中间层就可以实现读写。

创建一个文件对象

使用open()会返回一个文件对象,最长使用的方式是配合两个参数:open(filename,mode)

举个例子,假设有一个名为hello.txt,对其创建一个文件对象f

f=open('hello.txt','r')

这里的'hello.txt'就是文件名称,后面的'r'表示在阅读模式下读取。

各字符含义如下:

字符 含义
'r' 在阅读模式下,打开文件进行读取(也是默认模式)
'w' 打开文件进行写入(如果文件已经存在,那么从开头删减)
'a' 打开文件进行写入,如果文件已经存在,那么将内容附加到文件末尾
'x' 打开文件进行唯一的创建,如果文件已经存在,那么将会失败
'b' 二进制模式
't' 文本模式(默认)
'+' 打开文件进行更新(也就是同时开启读取和写入)

默认模式是'r',其实等价于'rt'

也就是说默认的是文本模式,这点非常重要,因为读取的时候会在行尾添加\n,如果是编写二进制文件,如果添加了\n的后果可想而知。

open()还有其他参数,具体请查看官方文档 https://docs.python.org/3.8/library/functions.html#open

关闭文件对象

在使用完文件对象之后,需要关闭来释放使用的资源。关闭文件使用f.close()即可。

不过,如果不用with调用f.write()或者调用f.close(),那么即使程序成功退出,那么还是可能会导致f.write()的参数(也就是要写出的内容)不能完整地写入硬盘。

你可能感兴趣的:(Python,python)