Python替换TXT文件内容的核心方法是:通过open()
函数读写文件,结合字符串替换或正则表达式修改内容,最后覆盖或另存为新文件。 关键步骤包括读取原内容→修改数据→写入文件,支持单文件或批量处理,适用于大小文件不同场景。
-
基础替换方法
使用with open()
确保文件安全操作,read()
读取全部内容后,用replace()
直接替换字符串。例如将"old_text"替换为"new_text":python复制
with open('file.txt', 'r', encoding='utf-8') as f: content = f.read().replace('old_text', 'new_text') with open('file.txt', 'w') as f: f.write(content)
此方法适合小文件,代码简洁但需注意内存占用。
-
正则表达式进阶替换
复杂匹配(如忽略大小写、模式模糊)可用re.sub()
。例如替换所有日期格式:python复制
import re content = re.sub(r'\d{4}-\d{2}-\d{2}', '2025-05-06', content)
正则表达式灵活性高,适合处理结构化文本。
-
大文件逐行处理
大文件建议逐行读写避免内存溢出,通过临时文件过渡:python复制
with open('input.txt', 'r') as fin, open('output.txt', 'w') as fout: for line in fin: fout.write(line.replace('error', 'fixed'))
完成后可替换原文件,适合日志等大型文本。
-
批量替换多文件
结合os
和glob
遍历目录,批量修改所有TXT文件:python复制
import glob for file in glob.glob('*.txt'): with open(file, 'r+') as f: content = f.read().replace('old', 'new') f.seek(0) f.write(content)
需提前备份文件,防止误操作。
-
编码与错误处理
指定encoding='utf-8'
避免乱码,添加try-except
捕获文件异常:python复制
try: with open('file.txt', 'r+', encoding='utf-8') as f: # 替换操作 except FileNotFoundError: print("文件不存在")
总结:Python文件替换需平衡效率与安全性,小文件直接覆盖,大文件逐行处理,批量操作前务必备份。根据需求选择简单替换或正则表达式,并始终处理编码问题确保兼容性。