方式一:
将硬盘存放的该文件的内容全部加载到内存,在内存中是可以修改的,修改完毕后,再由内存覆盖到硬盘(word,vim,nodpad++等编辑器)
import os
with open("a.txt")as f1,open("b.txt",'w')as f2:
data=f1.read() #全部读入内存,如果文件很大,会很卡
data=data.replace('old','new')#在内存中完成修改
f2.write()#一次性写入新文件
os.remove('a.txt')#删除原文件
os.rename('b.txt','a.txt')#将新建的文件重命名为原文件
方式二:
将硬盘存放的该文件的内容一行一行地读入内存,修改完毕就写入新文件,最后用新文件覆盖源文件
import os
with open('a.txt') as read_f,open('b.txt','w') as write_f:
for line in read_f:#逐行读取
line=line.replace('old','new')#逐行替换
write_f.write(line)#逐行写入
os.remove('a.txt')
os.rename('b.txt','a.txt')