文件打开与模式选择
在 Python 中,open() 是最基础的入口函数。选择合适的 mode 决定了后续操作的权限与行为。
常用模式说明
- r: 只读模式(默认)。如果文件不存在会报错。
- w: 写入模式。若文件存在则清空内容,不存在则新建。
- a: 追加模式。写入内容会自动添加到文件末尾,不会覆盖原有数据。
- b: 二进制模式。通常与上述模式组合,如
rb、wb。 - t: 文本模式(默认)。
- +: 更新模式,允许同时读写。
混合模式注意
- a+: 可读写,但写入操作始终发生在文件尾部。
- r+: 可读写,从文件开头开始。调用
f.seek(0)后写入会覆盖原内容。 - w+: 可读写,但打开时会立即清空文件内容,需谨慎使用。
文件对象方法与属性
文件对象(File Object)提供了丰富的接口来处理数据流。
# 读取单行
s = f.readline([size])
# 读取所有行返回列表
l = f.readlines([size])
# 读取指定大小字节
s = f.read([size])
# 写入字符串
f.write(s)
# 写入列表中的多行
f.writelines(l)
此外,还有几个关键属性与方法用于状态管理和指针控制:
f.closed: 检查文件是否已关闭。pos = f.tell(): 获取当前文件指针位置。f.flush(): 强制将缓冲区内容写入磁盘。f.seek(offset, from_what): 移动文件指针。
其中 seek 的 from_what 参数有三种取值:
0: 文件开头(默认)1: 当前位置2: 文件末尾
例如,跳转到距离文件末尾前 3 个字节的位置:
f.seek(-3, 2) # Go to the 3rd byte before the end
在实际工程中,为了安全起见,建议始终使用 with 语句来管理文件资源,这样即使发生异常也能自动关闭文件。

