open函数的模式
open()
函数用于打开文件,并返回一个文件对象,用于读取或写入文件内容。其中,第二个参数 mode
用于指定文件打开的模式,可以是单个模式或多个模式的组合。
下面是常用的单个模式:
'r'
:读取模式。默认模式,以文本模式读取文件内容。如果文件不存在,则会抛出异常。'w'
:写入模式。以文本模式写入文件内容,如果文件不存在则创建一个新文件。如果文件存在,则先清空文件内容,再写入新内容。'x'
:独占创建模式。以文本模式创建一个新文件,如果文件已存在则会抛出异常。'a'
:追加模式。以文本模式打开文件,在文件末尾添加新内容,如果文件不存在则创建一个新文件。'b'
:二进制模式。以二进制模式读取或写入文件内容。如果未指定任何模式,则默认为文本模式。't'
:文本模式。以文本模式读取或写入文件内容。如果未指定任何模式,则默认为文本模式。
下面是常用的模式组合:
'r+'
:读写模式。以文本模式打开文件,可以读取和写入文件内容。如果文件不存在则会抛出异常。'w+'
:读写模式。以文本模式打开文件,可以读取和写入文件内容。如果文件不存在则创建一个新文件,如果文件存在,则先清空文件内容再写入新内容。'a+'
:读写模式。以文本模式打开文件,在文件末尾添加新内容,可以读取和写入文件内容。如果文件不存在则创建一个新文件。
注意,以上模式组合会覆盖单个模式。
除了以上常用的模式,还有一些其他的模式,可以根据实际需求选择使用。同时,还可以通过指定可选参数 buffering
来设置文件读取或写入时的缓冲区大小,以及指定可选参数 encoding
和 errors
来设置文件的编码方式和错误处理方式。
需要注意的是,在使用 open()
函数打开文件进行读取或写入操作后,需要使用 close()
方法关闭文件,以释放文件资源。或者,也可以使用 with
语句来打开文件,这样可以在代码块执行完后自动关闭文件,例如:
with open('example.txt', 'r') as f:
content = f.read()
print(content)
以上代码会在 `with` 代码块执行完后自动关闭文件。