for line in sourcefile.splitlines():
for l in targetfile.splitlines():
if line in targetfile:
sourcefile.replace(line, l)
print sourcefile
当我运行代码时,我得到了没有更改的源文件。它在for looo之前的状态下打印文件。如何在源文件中获取替换结果。
答案 0 :(得分:2)
replace()没有修改字符串,它会返回一个新字符串:
string.replace(s, old, new[, maxreplace])
返回字符串s的副本,其中出现所有子字符串old 取而代之的是新的。
使用:
sourcefile = sourcefile.replace(line, l)
演示:
>>> s = 'test1'
>>> s.replace('1', '2')
'test2'
>>> s
'test1'
>>> s = s.replace('1', '2')
>>> s
'test2'