Python 内建函数列表 > Python 的内置函数 open
Python 的内置函数 open() 是用于打开文件的重要函数,它提供了与文件系统交互的基本接口。该函数返回一个文件对象(file object),可用于读取、写入或追加文件内容。
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
file(必需):文件路径(字符串或字节对象),可以是绝对路径或相对路径
mode(可选):文件打开模式,默认是 'r'(只读)
'r':读取模式(默认)
'w':写入模式,会覆盖已有文件
'x':独占创建模式,文件已存在则报错
'a':追加模式
'b':二进制模式
't':文本模式(默认)
'+':更新模式(可读写)
encoding(重要):指定文本编码格式,如 'utf-8'(Python 3默认)、'gbk' 等
读取文本文件:
with open('example.txt', 'r', encoding='utf-8') as f:
content = f.read()
写入文件:
with open('output.txt', 'w') as f:
f.write('Hello, World!')
追加内容:
with open('log.txt', 'a') as f:
f.write('New log entry\n')
二进制文件操作:
with open('image.jpg', 'rb') as f:
data = f.read()
始终使用 with 语句,确保文件正确关闭
明确指定编码格式,避免跨平台问题
处理大文件时考虑逐行读取或分块读取
注意不同操作系统路径分隔符的差异
检查文件是否存在(os.path.exists)后再操作
文件不存在时会抛出 FileNotFoundError(读取模式)
编码错误会抛出 UnicodeDecodeError
权限不足会抛出 PermissionError
Windows 系统路径需要使用原始字符串或双反斜杠
缓冲区大小(buffering)影响 I/O 性能
二进制模式比文本模式效率更高
大量小文件操作应考虑批量处理