如何在不删除任何其他内容的情况下替换文件中的多个重复字符串 python 3
how to replace multiple duplicate strings in a file without deleting anything else python 3
好的,我有这个代码:
for line in fileinput.FileInput("zero.html",inplace=1):
if '{problem}' in line:
rep = 'a dynamic var'
line = line.replace('{problem}', rep)
print(line)
现在,问题是它可以很好地替换文本,但它会删除所有其他没有“{problem}”的行。如何在不删除其他行的情况下用其他内容替换“{problem}”?此外,我的文件中多次出现“{problem}”,我希望将每一个都更改为不同的随机字符串。
谢谢!
if
语句没有说明如何处理不包含“{problem}”的行。因此,如所写,您的代码只是忽略了这些行。您可以添加一个 else
子句来打印该行。或者您可以像这样删除 if
测试:
for line in fileinput.FileInput("zero.html", inplace=1):
rep = 'a dynamic var'
line = line.replace('{problem}', rep)
print(line)
如果不包含“{problem}”,replace
方法将保留该行不变。
好的,我有这个代码:
for line in fileinput.FileInput("zero.html",inplace=1):
if '{problem}' in line:
rep = 'a dynamic var'
line = line.replace('{problem}', rep)
print(line)
现在,问题是它可以很好地替换文本,但它会删除所有其他没有“{problem}”的行。如何在不删除其他行的情况下用其他内容替换“{problem}”?此外,我的文件中多次出现“{problem}”,我希望将每一个都更改为不同的随机字符串。 谢谢!
if
语句没有说明如何处理不包含“{problem}”的行。因此,如所写,您的代码只是忽略了这些行。您可以添加一个 else
子句来打印该行。或者您可以像这样删除 if
测试:
for line in fileinput.FileInput("zero.html", inplace=1):
rep = 'a dynamic var'
line = line.replace('{problem}', rep)
print(line)
如果不包含“{problem}”,replace
方法将保留该行不变。