Iterparse 对象没有 next 属性
Iterparse object has no attribute next
我正在解析一个 700mb 的文件,我有以下代码在我的测试文件上运行良好,没有行 context.iter(context) 和事件,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()
然而,当我继续 iterparse 700mb 文件时,它仍然崩溃。已阅读:
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 的新手,我无法弄清楚为什么会这样,据我所知,我与示例一致。
假设您使用的是 Python3,迭代器语法是 next(context)
而不是 context.next()
我正在解析一个 700mb 的文件,我有以下代码在我的测试文件上运行良好,没有行 context.iter(context) 和事件,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()
然而,当我继续 iterparse 700mb 文件时,它仍然崩溃。已阅读:
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 的新手,我无法弄清楚为什么会这样,据我所知,我与示例一致。
假设您使用的是 Python3,迭代器语法是 next(context)
而不是 context.next()