我有以下代码,它通过进行正则表达式替换来修改文件 test.tex 的每一行。
import re
import fileinput
regex=re.compile(r'^([^&]*)(&)([^&]*)(&)([^&]*)')
for line in fileinput.input('test.tex',inplace=1):
print regex.sub(r'\3\2\1\4\5',line),
唯一的问题是我只希望替换应用于文件中的某些行,并且无法定义模式来选择正确的行。所以,我想显示每一行并在命令行提示用户,询问是否在当前行进行替换。如果用户输入“y”,则进行替换。如果用户不输入任何内容,则不进行替换。
当然,问题在于通过使用inplace=1
我已经有效地将标准输出重定向到打开的文件的代码。因此,没有办法向未发送到文件的命令行显示输出(例如询问是否进行替换)。
有任何想法吗?