我试图从另一个python文件替换/修改python文件中的一部分字符串。
我试图在其他PY中替换的行是:
a.setSystemFile('D:/test/f.xml')
我想替换此行的一部分,即xml路径字符串使用不同的xml路径:
示例:
a.setSystemFile('C:/try/X.xml')
我的代码如下:
with open('script.py') as f: lines = f.read().splitlines()
with open('script.py', 'w') as f:
for line in lines:
if line.startswith('a.setSystemFile'):
f.write(line.replace('D:/test/f.xml','C:/try/X.xml')
但是,这会将文件呈现为空,只会写入C:/try/X.xml。是否有一种方法可以同时保留原始内容,只需替换上面示例中的XML路径字符串。
任何帮助将不胜感激。感谢。
答案 0 :(得分:2)
如果行不以该文字开头,您就忘了做某事。
for line in lines:
if line.startswith('a.setSystemFile'):
f.write(line.replace('D:/test/f.xml','C:/try/X.xml'))
else:
f.write(line)
另外,我可以建议您只使用sed吗?