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

그래서 당신은 당신이 을 읽을 수있는 지점에 도달했습니다 "MSG"하지 원본 파일에 업데이트됩니다, xml 파일 수정 구문 분석. 마지막 단계는 파일을 저장하는 것입니다. 수정 된 버전은 실행중인 프로세스의 메모리에만 있기 때문입니다.

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

꽤 인쇄 (들여 쓰기) 형식으로 outfile.xml에 수정 된 XML을 작성합니다. "outfile.xml"을 원래 파일 이름을 포함하는 변수로 바꾸면 원본 파일을 덮어 쓸 수 있습니다.

+0

"w"모드에서 파일을 열어야합니다 ..... thanxxx 많이 –

+0

내 잘못됨, 수정 됨 – udoprog

관련 문제