2012-12-07 55 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