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