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.')
这些模式覆盖了大多数文件操作场景,根据需求选择合适的模式可避免数据丢失或错误。