使用Python修改文件内容可通过多种方式实现,核心方法包括简单字符串替换、正则表达式匹配、逐行处理及专用文档库调用,适应从基础文本到复杂格式文件的修改需求。以下为具体实现方案与场景解析:
一、基础字符串替换
通过
open()
replace()
python复制with open('file.txt', 'r+') as f: content = f.read().replace(' 旧内容', '新内容') f.seek(0) # 重置指针 f.write(content) f.truncate() # 截断多余内容
适用场景:需全局替换固定文本的小型文件,操作简单但需注意内存占用。
二、正则表达式处理
引入
re
python复制import re with open('file.txt', 'r+') as f: content = re.sub(r'\d{4}-\d{2}-\d{2}', '2025-05-06', f.read()) f.seek(0) f.write(content) f.truncate() ```()
优势:可处理不规则文本模式,如日志格式化、数据清洗等场景。
三、逐行读取与写入
针对大文件采用迭代处理,避免内存溢出:
python复制with open('input.txt', 'r') as fin, open('output.txt', 'w') as fout: for line in fin: fout.write(line.replace(' 旧词', '新词')) ```'))
完成后可替换原文件,适合日志文件等GB级数据处理。
四、专用文档库应用
处理复杂格式文件时需调用特定库,如修改Word文档内容可使用
python-docx
python复制from docx import Document doc = Document('document.docx') for paragraph in doc.paragraphs: if '待替换文本' in paragraph.text: paragraph.text = paragraph.text.replace(' 待替换文本', '新内容') doc.save('modified.docx') ```')
该方法保留原始格式,适用于合同模板、报告等结构化文档。
五、安全操作要点
- 备份机制:修改前复制原文件,防止误操作导致数据丢失
- 编码一致性:指定plaintext复制参数避免乱码
encoding='utf-8'
- 异常捕获:使用plaintext复制块处理文件权限或路径错误
try-except
- 上下文管理:优先采用plaintext复制语句自动处理文件开关
with
提示:根据文件类型(纯文本/二进制/Office文档)选择对应方法,涉及格式保留时建议使用专业库。高频修改任务可封装为函数,结合
os