我正在解析一个700 my文件,下面的代码对我的测试文件很好,没有行context.iter(上下文)和事件,elem = context.next()。
form xml.etree import cElementTree as ET
source = ("AAT.xml")
context = iter(context)
event, root = context.next()
for event, elem in context:
if event == event("end"):
some processing...
elem.clear()
root.clear()但是,当我继续迭代解析700 it文件时,它仍然会崩溃。读过:
Should memory usage increase when using ElementTree.iterparse() when clear()ing trees?
我相信这是因为我需要清除根目录,然而,在遵循了我在上面包含的一些教程之后,我不断地收到一个错误:
line 9, in <module>
event, root = context.next()
AttributeError: 'iterparse' object has no attribute 'next'我仍然是Python的新手,我不知道为什么会发生这种情况,据我所见,我与这些例子是一致的。
发布于 2015-02-16 13:33:56
假设您使用的是Python3,迭代器语法是next(context)而不是context.next()。
https://stackoverflow.com/questions/28542497
复制相似问题