2017-03-24 4 views
1

zipfileオブジェクトをiterparse関数に使用できるものに変換するにはどうすればよいですか?zipfileオブジェクトをiterparseする方法

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

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

私は、.read()でzipfileオブジェクトを文字列に変換しようとしました。しかし、それはUnicodeではないので問題を引き起こします。これを行う最善の方法は何ですか?

答えて

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 
関連する問題