Python读取文件需用open()函数配合read/readline/readlines方法,关键在正确设置mode和encoding参数,并用with语句确保自动关闭;常见错误包括路径错误、编码不匹配和权限不足。
Python中读取文件主要靠 open() 函数,它返回一个文件对象,再配合 .read()、.readline() 或 .readlines() 等方法获取内容。关键不是“怎么调用”,而是理解参数含义和使用场景,避免编码错误或资源泄漏。
open(file, mode='r', encoding=None) 是最常用形式:
文件:推荐用 with 语句直接用 open() 后忘记 .close() 容易导致文件被占用或内存泄漏。用 with 可自动关闭:
with open("info.txt", "r", encoding="utf-8") as f:
content = f.read() # 一次性读全部
print(content) # 文件已自动关闭,仍可访问 content
即使中间出错,with 也会确保关闭文件,比手动 f.close() 更可靠。
不同方法适合不同场景:
例如逐行处理日志:
with open("access.log", "r", encoding="utf-8") as f:
for line in f: # 这里 f 是可迭代对象,等价于反复调用 readline()
if "ERROR" in line:
print(line.strip()) # strip() 去掉首尾空白(含 \n)
遇到问题别慌,多数是这几种情况: