2011-06-01 136 views
1

我想從另一個python文件中替換/修改python文件中的一部分字符串。使用另一個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路徑字符串。

任何幫助,將不勝感激。謝謝。

回答

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這個?

+0

感謝上述方法。我也會考慮使用SED,謝謝你的信息。 – user741592 2011-06-01 10:07:29

相關問題