2011-08-11 57 views
-4

我需要在父文件夾中搜索所有config.xml文件 ,並在這些文件中將一個字符串替換爲另一個字符串。 (從這裏到那裏)python中的多重搜索和替換

+5

到目前爲止您嘗試了什麼?什麼都行不通,你卡在哪裏? – cdhowie

+2

爲什麼使用Python這個?你可以通過使用find和sed的shell來完成。 –

+1

這是一個很好的理念,事先記錄並嘗試一些你自己的想法,如果你不能處理它,可以問一個問題,也許你嘗試了一些代碼/算法步驟。不要吝嗇任何東西,但從你的帖子看來,你沒有嘗試任何東西,只是希望別人來解決你的問題。 – Bogdan

回答

1
import os 
parent_folder_path = 'somepath/parent_folder' 
for eachFile in os.listdir(parent_folder_path): 
    if eachFile.endswith('.xml'): 
     newfilePath = parent_folder_path+'/'+eachFile 
     file = open(newfilePath, 'r') 
     xml = file.read() 
     file.close() 
     xml = xml.replace('thing to replace', 'with content') 
     file = open(newfilePath, 'w') 
     file.write(str(xml)) 
     file.close() 

希望這是你在找什麼。

+0

謝謝!!!!!!!!!!!!!!!!!!!!!!!!!!! – Mavig

+0

如果它解決你的問題,然後標記爲解決..歡迎 –

+0

它沒有工作:( – Mavig

0

您想看看os.walk()遞歸遍歷文件夾和子文件夾。然後,您可以讀取每行(for line in myfile: ...)並執行替換(line = line.replace(old, new))並將行保存回臨時文件(tmp.write(line)),最後將臨時文件複製到原始文件上。

+0

謝謝。我給出的例子沒有工作:(它沒有做任何事情。 – Mavig