python修改txt部分内容,并保存。
python修改txt部分内容,并保存的思路:
1.打开txt文件和缓存文件;
2.for循环遍历txt文件每行的内容;
3.在遍历中找到要修改的内容;
4.找到要修改的内容后进行替换,替换成新内容;
5.替换成新内容后,写进缓存文件(.bak文件);
6.全部写进缓存文件后,把原来的txt文件删除;
7.缓存文件更名为原来txt文件名字。
就这样,借用缓存文件作为空杯子,把修改的内容先放进空杯子,空杯子装了东西后再贴上原来txt文件的名字,就变成了想要的结果。
代码如下:
import os
def alter(file,old_str,new_str):
:param file: 文件路径
:param old_str: 需要替换的字符串
:param new_str: 替换的字符串
with open(file, "r", encoding="utf-8") as f1,open("%s.bak" % file, "w", encoding="utf-8") as f2:
for lin in f1:
print(lin)
if old_str in lin:
lin = lin.replace(old_str, new_str)
f2.write(lin)
os.remove(file)
os.rename("%s.bak" % file, file)
alter(r"E:\abc\1.txt", "a", "b")#将"E:\abc"路径的1.txt文件把所有的a改为b