我有一个文件“ xyz.txt”,我正在编写一个python脚本来替换特定行中的字符串。所以基本上我有一个字符串说
我要替换为x ==
的一行中的x == 10
。
在另一行中,我有xx == 5
我不想替换。
当我使用命令时-
for line in fileinput.input([filename],inplace=True):
line.replace(old string, new string)
哪里,
old string = "x =="
new string = "x == 5".
最终替换了我不想修改的具有xx == 5
的另一行。
用x ==
修改某一行的最佳方法是什么
而不是使用其中存在的“ x ==”字符串修改所有行?
python大神给出的解决方案
您可以在这里使用正则表达式。
with open(file) as f:
print(re.sub(r'(?m)^x == *$', 'x == 10', f.read()))