1 需求
2 接口
3 示例
open
函数是 Python 的内置函数,主要用于文件的读写操作。
file:此参数代表文件路径,既可以是绝对路径,也可以是相对路径。就像你代码里的
'cfg.ini'
,这是一个相对路径,表示当前目录下的cfg.ini
文件。mode:该参数用于设定文件的打开模式,是一个可选参数,默认值为
'r'
(即只读模式)。在你的代码中,使用的是'w'
,它代表写入模式。当以写入模式打开文件时,如果文件不存在,会创建该文件;如果文件已经存在,则会清空文件内容,然后再进行写入操作。buffering:此参数用于设置缓冲策略,同样是可选参数。若不设置,会采用默认的缓冲策略。
encoding:该参数用于指定文件的编码格式,属于可选参数。在文本模式下使用较多,要是不指定,会使用系统默认的编码格式。
errors:这个可选参数用于设定编码错误的处理方式。
newline:此参数用于控制换行符的处理,也是可选的。
3 示例
在 Python 中,open()
函数的 mode
参数用于指定文件的打开方式。以下是常见的文件打开模式及其含义:
基础模式
'r'
(默认):只读模式。文件指针位于文件开头,若文件不存在则报错。'w'
:写入模式。若文件存在则清空内容,不存在则创建。'a'
:追加模式。文件指针位于文件末尾,不存在则创建。'x'
:创建模式。新建文件,若文件已存在则报错。
扩展模式(与基础模式组合使用)
'b'
:二进制模式。可与其他模式组合(如'rb'
、'wb'
)。't'
:文本模式(默认,可省略)。'+'
:读写模式。可与其他模式组合(如'r+'
、'w+'
)。
常用组合及示例
模式 | 含义 | 文件不存在时 | 存在时 |
---|---|---|---|
'r' |
只读文本 | ❌ 报错 | 打开读取 |
'w' |
写入文本 | ✅ 创建 | 清空并写入 |
'a' |
追加文本 | ✅ 创建 | 追加到末尾 |
'r+' |
读写文本 | ❌ 报错 | 打开读写(指针在开头) |
'w+' |
读写文本 | ✅ 创建 | 清空并读写(指针在开头) |
'a+' |
读写文本(追加) | ✅ 创建 | 追加或读取(指针在末尾) |
'rb' |
只读二进制 | ❌ 报错 | 打开读取 |
'wb' |
写入二进制 | ✅ 创建 | 清空并写入 |
注意事项
'w'
和'w+'
:会清空原文件内容,谨慎使用。- 指针位置:
'a'
和'a+'
模式下,指针初始位于文件末尾,写入会追加到尾部。 - 二进制与文本模式:处理非文本文件(如图像、视频)必须用
'b'
模式。
示例代码
# 写入模式(清空原内容)
with open('test.txt', 'w') as f:
f.write('Hello, World!')
# 追加模式(保留原内容)
with open('test.txt', 'a') as f:
f.write('\nAppended text.')
# 读写模式(指针在开头,需手动移动)
with open('test.txt', 'r+') as f:
content = f.read()
f.seek(0) # 移动指针到开头
f.write('New content.')
这些模式覆盖了大多数文件操作场景,根据需求选择合适的模式可避免数据丢失或错误。