一. 实现思路
- 同时打开两个文件,将第一个文件的内容读出来进行修改,然后将修改后的行写入第二个文件中。
- 写完后删除原始文件,将第二个文件重命名为原始文件名。
- 操作过程中出现任何错误都会终止修改,对原始文件没有任何影响。
二. 实现代码
import os
conf = "a.conf"
with open(conf, 'rt') as f1,open(conf+'.bak', 'wt') as f2:
for line in f1:
try:
if "server:127.0.0.1" in line:
line = line.replace("server:127.0.0.1", "server:0.0.0.0")
f2.write(line)
f2.flush()
except Exception as e:
exit(e)
os.remove(conf)
os.rename(conf+'.bak', conf)
三. 代码说明
line.replace()
函数可以写成任何修改的内容。- 在修改的过程中一定要使用异常捕捉,出现错误立即停止修改,并打印错误信息。
- 可以将其写成函数的形式方便调用。