ExpatError:使用xmltodict时内存不足

时间:2018-01-08 07:30:53

标签: python xml

我正在尝试使用python中的以下代码解析一个大的 XML文件(300MB)

import xmltodict


def handle(path, item):
    print path
    print item
return True


file = open('large_file.xml','r')

str = file.read()

xmltodict.parse(str, item_depth=3, item_callback=handle)

我能够解析100MB的XML文件,但是当我尝试使用300MB的更大文件时,我正在

  

ExpatError:内存不足:第1行,第0列

是否有其他可以处理更大XML文件的库或方法?或者我做错了吗? 请指教。

1 个答案:

答案 0 :(得分:0)

我看到了这篇文章:http://boscoh.com/programming/reading-xml-serially.html

决定使用cElementTree和iterparse,效果很好。