2012-12-07 92 views
2

在名爲「ini」的文件夾中有很多文件我必須搜索屬性名稱爲 的文件並編輯它的值,我試過這段代碼: -如何編輯和更新python目錄中的xml文件

import os, glob 
from lxml import etree 

for filename in glob.glob("./ini/*.xml"): 

    xmlData = etree.parse(filename) 

    for msg in xmlData.findall("//Value"): 
     name = msg.attrib["name"] 
     init = msg.attrib["initValue"] 
     if name == "attribute name" : 
      msg.set("initValue", "0") 
      print msg.get('name'), msg.get('initValue') 
      print msg.attrib 
      print name, init 
      print filename 

值僅在「消息」不是原始文件

回答

0

所以,你已經達到了一個點,你必須閱讀更新解析修改 XML文件。最後一步是缺少的是保存該文件,因爲修改後的版本只存在於正在運行的進程的內存中。

with open("outfile.xml", "w") as f: 
    f.write(etree.tostring(xmlData)) 

這將修改的XML寫入outfile.xml在一個漂亮的印刷(縮進)格式。您可以用包含原始文件名的變量替換「outfile.xml」來覆蓋原始文件。

+0

它的工作只是打開文件在「W」模式..... thanxxx很多 –

+0

我的不好,更正 – udoprog