我有以下代码段
import xml.etree.cElementTree as et
fstring = open(filename).read()
tree = et.fromstring(fstring)
for el in tree.findall('tag'):
do stuff
但是,fstring 是巨大的(约 80mbs 的数据),当我尝试将字符串转换为树时遇到“内存不足”错误。有没有办法解决这个问题,也许是对树的某种懒惰评估?
谢谢!
编辑:
我尝试使用 iterparse,但它仍然在 iterparse 调用上给我 MemoryError。有没有办法将文件分成多个块并一个一个地处理它们?