2017-03-24 2 views
1

어떻게 itipparse 함수에 사용할 수있는 zipfile 개체로 변환 할 수 있습니까?zipfile 객체 iterparse하는 방법

for name in zipfile.namelist(): 
xml_zip = zipfile.open(name, 'r') 

for bla, elem in etree.iterparse(xml_zip): 
    print bla 

zipfile 개체를 .read() 문자열로 변환 해 보았습니다. 그러나 유니 코드가 아니기 때문에 문제가 발생합니다. 이 작업을 수행하는 가장 좋은 방법은 무엇입니까?

답변

1

전체 예제를 게시해야합니다. 게시 한 코드 스 니펫이 작동하지 않습니다. iterparse는 etree 모듈의 속성이 아닙니다. 작동 방식 :

import zipfile 
from xml.etree import ElementTree 

with zipfile.ZipFile('zipfile.zip') as z: 
    for fname in z.namelist(): 
     with z.open(fname) as f: 
      for event, elem in ElementTree.iterparse(f): 
       print elem 
관련 문제