【发布时间】:2019-06-19 11:54:03
【问题描述】:
这是一个非常奇怪的问题。蟒蛇 3.7。
from xml.etree import ElementTree as ET
def iter_elements_by_name_please(handle, name):
print('It works')
events = ET.iterparse(handle, events=("start", "end",))
_, root = next(events) # Grab the root element.
for event, elem in events:
if event == "end" and elem.tag == name:
yield elem
root.clear() # Free up memory by clearing the root element.
iter_elements_by_name_please('test.xml', 'gabm')
这样的代码只返回 0,在调试器中我可以看到,它没有进入函数。如果我删除for 循环,它会按预期开始工作。在不同的操作系统上尝试了 2 台不同的机器。
【问题讨论】:
标签: python python-3.x xml-parsing