如何在不删除任何其他内容的情况下替换文件中的多个重复字符串 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 方法将保留该行不变。