我正在读取一个文件并替换一个文本字符串。我正在为几个不同的字符串执行此操作,我知道这不是最有效的代码,我只是想让它正常工作。这是我拥有的:
for line in fileinput.input(new_config, inplace=1):
print line.replace("http://domain.com", self.site_address)
print line.replace("dbname", self.db_name)
print line.replace("root", self.db_user)
print line.replace("password", self.db_pass)
print line.replace("smvc_", self.prefix
这是可行的,但它也会将文件中的每一行写入 5 次,并且只会在第一次尝试时替换字符串,而不是在它创建的新行上替换字符串(无论它是否匹配字符串都无所谓)
请您参考如下方法:
您只需将其视为一个字符串并对其应用所有替换。
for line in fileinput.input(new_config, inplace=1):
line = line.replace("http://domain.com", self.site_address)
line = line.replace("dbname", self.db_name)
line = line.replace("root", self.db_user)
line = line.replace("password", self.db_pass)
line = line.replace("smvc_", self.prefix)
print line
如果它没有找到任何这些目标,它就不会对 line 字符串进行任何更改,因此它只会替换它确实找到的内容。
