如何将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。最好的方法是什么?
答案 0 :(得分: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