python lxml iterparse在包含命名空间的大文件上失败

时间:2014-03-25 13:55:38

标签: python lxml iterparse

我正在尝试解析大文件(> 100mb),如http://effbot.org/zone/element-iterparse.htm#incremental-parsing所述

但是如果文件包含名称空间,则lxml会失败并显示错误

lxml.etree.XMLSyntaxError: Namespace default prefix was not found

如果删除elem.clear(),它会正常工作,但会占用大量内存。 xml文件的示例

<?xml version="1.0" encoding="utf-8" ?>
<feed xmlns="NS">
  <offer>
    <type>type1</type>
    <name>name1</name>
  </offer>
</feed>

lxml版本是3.2.0,因为在解析结束后新版本会出现段错误

1 个答案:

答案 0 :(得分:0)

您是否阅读过this? 根据我使用100MB +文件的经验,你有超过2GB的ram使用内存(例如,我的160MB,我高达4.5GB)你使用的是64位python吗?