2

我想使用 Python 替换文本文件中的一行。基本上我正在循环一个文件,当我找到需要替换的相关行时,我想在文件中的相同位置替换它。

这可以在 Python 中完成而不创建一个全新的文件吗?

4

1 回答 1

3

我喜欢为此使用该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,因此更改似乎是就地的。

于 2013-07-30T20:26:03.980 回答