Python修改文件内容的3种方法详解
本文详解Python修改文件内容的三种常用方法。第一种为原地修改,直接读取并替换后写回原文件;第二种通过生成备份文件(.bak)再重命名实现安全替换;第三种利用正则表达式re.sub进行复杂模式匹配替换。文章提供完整代码示例,适用于不同场景下的文件内容更新需求。
本文深入解析Python中修改文件内容的三种具体实现方式,通过详细的代码示例展示每种方法的操作流程,旨在为开发者在文件处理或日常工作中提供具有实际参考价值的技术指南。
直接修改原文件的方法
第一种方法:直接修改原文件
def alter(file,old_str,new_str):
"""
替换文件中的字符串
:param file:文件名
:param old_str:就字符串
:param new_str:新字符串
:return:
"""
file_data = ""
with open(file, "r", encoding="utf-8") as f:
for line in f:
if old_str in line:
line = line.replace(old_str,new_str)
file_data += line
with open(file,"w",encoding="utf-8") as f:
f.write(file_data)
alter("file1", "09876", "python")
通过新文件备份替换原文件
第二种方法:通过新文件存储并替换原文件
字符串替换实现
2.1 利用Python字符串替换方法修改文件内容
import os
def alter(file,old_str,new_str):
"""
将替换的字符串写到一个新的文件中,然后将原文件删除,新文件改为原来文件的名字
:param file: 文件路径
:param old_str: 需要替换的字符串
:param new_str: 替换的字符串
:return: None
"""
with open(file, "r", encoding="utf-8") as f1,open("%s.bak" % file, "w", encoding="utf-8") as f2:
for line in f1:
if old_str in line:
line = line.replace(old_str, new_str)
f2.write(line)
os.remove(file)
os.rename("%s.bak" % file, file)
alter("file1", "python", "测试")
正则表达式替换实现
2.2 使用正则表达式 re.sub 方法替换文件内容
import re,os
def alter(file,old_str,new_str):
with open(file, "r", encoding="utf-8") as f1,open("%s.bak" % file, "w", encoding="utf-8") as f2:
for line in f1:
f2.write(re.sub(old_str,new_str,line))
os.remove(file)
os.rename("%s.bak" % file, file)
alter("file1", "admin", "password")
以上内容为本文的全部分享,希望能为读者的学习与工作带来帮助,同时也欢迎持续关注本站以获取更多技术资源。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













