使用另一个Python文件修改/替换Python文件中的一行
我想在一个Python文件中替换或修改另一个Python文件中的一部分字符串。
我想替换的那一行是:
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路径字符串的同时,保留原来的内容,就像上面的例子那样。
任何帮助都非常感谢。谢谢。
1 个回答
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来处理这个问题。