小文件可以这样操作
import os
# 使用 "r" 模式读取文件,"w" 模式写入文件
with open("D:/ttt.txt", "r") as read_f, open("D:/tt.txt", "w") as write_f:
data = read_f.read()
# 把文件中的 ‘good’ 变成 ‘bad’
data = data.replace("good", "bad")
write_f.write(data)
# 删除原始文件
os.remove('D:/ttt.txt')
# 重命名新文件
os.rename('D:/tt.txt', 'D:/ttt.txt')
# 确保删除之后还没有同名的文件存在了
if not os.path.exists('D:/ttt.txt'):
os.rename('D:/tt.txt', 'D:/ttt.txt')
else:
print('Error: "D:/ttt.txt" already exists.')
效果
替换之前
替换之后
大文件就迭代替换
import os
with open("D:/ttt.txt") as f_read,open("D:/tt.txt",mode="w") as f_write:
for line in f_read: # 一行一行的替换就不用担心一下塞太多数据给变量了
line = line.replace("bad","power")
f_write.write(line)
os.remove("D:/ttt.txt")
os.rename("D:/tt.txt","D:/ttt.txt")
效果:
替换之前
替换之后