Python open() 函数通过模式参数控制文件读写方式:r 只读、w 覆盖写入、a 追加、b 二进制、+ 读写组合。
基础模式
| 模式 | 说明 | 文件不存在 |
|---|
r | 只读 | 报错 |
w | 覆盖写入 | 创建 |
a | 追加 | 创建 |
x | 排他创建 | 报错(文件已存在) |
组合模式
| 模式 | 说明 |
|---|
r+ | 读写,文件必须存在 |
w+ | 读写,覆盖内容 |
a+ | 读写,追加到末尾 |
rb | 读二进制 |
wb | 写二进制 |
类型修饰
使用示例
# 读取文本
with open('file.txt', 'r') as f:
content = f.read()
# 覆盖写入
with open('file.txt', 'w') as f:
f.write('new content')
# 追加内容
with open('file.txt', 'a') as f:
f.write('appended')
# 读取二进制(图片、视频)
with open('image.png', 'rb') as f:
data = f.read()
# 读写已有文件
with open('data.bin', 'rb+') as f:
data = f.read()
# 排他创建(文件已存在则报错)
with open('new.txt', 'x') as f:
f.write('content')
选择指南
| 场景 | 模式 |
|---|
| 仅读取 | r |
| 覆盖写入 | w |
| 追加日志 | a |
| 读写已有文件 | r+ |
| 处理图片/视频 | rb / wb |
| 读取并追加 | a+ |