我想用Python替换文本文件中的一行。基本上我循环遍历文件,当我找到需要替换的相关行时,我想将其替换为文件中的相同位置。
这可以在Python中完成,而无需创建一个全新的文件吗?
答案 0 :(得分:3)
我喜欢使用fileinput
module。它有一个制作备份文件的选项,它保留了权限。
import fileinput
import sys
for line in fileinput.input([filename], inplace=True):
if condition:
sys.stdout.write(newline)
else:
sys.stdout.write(line)
此 创建一个新的(临时)文件,然后将该文件重命名为filename
,因此更改似乎就位。