Python读取并修改文件的核心方法是通过open()
函数配合读写模式,先读取内容到内存,修改后重新写入文件。 关键操作包括使用with
语句确保资源自动释放、字符串替换或正则表达式处理内容,以及针对大文件采用逐行读写优化内存。以下是具体实现要点:
-
基础读写流程
以'r'
模式读取文件内容,修改后通过'w'
模式覆盖写入。例如:python复制
with open('file.txt', 'r') as f: content = f.read() modified = content.replace('旧文本', '新文本') with open('file.txt', 'w') as f: f.write(modified)
-
高效处理大文件
逐行读取避免内存溢出,结合生成器或fileinput
模块实现流式处理:python复制
with open('large_file.txt', 'r') as infile, open('output.txt', 'w') as outfile: for line in infile: outfile.write(line.replace('旧数据', '新数据'))
-
复杂内容修改
使用re.sub()
进行正则匹配替换,或pathlib
模块简化路径操作:python复制
import re content = re.sub(r'正则模式', '替换值', content)
-
安全与健壮性
- 通过
try-except
捕获权限或编码错误(如PermissionError
)。 - 二进制文件需使用
'rb'
/'wb'
模式,文本文件建议指定编码(如encoding='utf-8'
)。
- 通过
提示:根据文件大小和场景选择方法,优先使用上下文管理器与异常处理保障稳定性。