Skip to main content
 首页 » 编程设计

python字符串在文本文件中查找和替换

2025年05月04日56insus

我正在读取一个文件并替换一个文本字符串。我正在为几个不同的字符串执行此操作,我知道这不是最有效的代码,我只是想让它正常工作。这是我拥有的:

    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 字符串进行任何更改,因此它只会替换它确实找到的内容。