0

我正在尝试按照http://effbot.org/zone/element-iterparse.htm#incremental-parsing中的说明解析大文件(>100mb)

但是如果文件包含命名空间,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,因为新版本在解析结束后会出现段错误

4

1 回答 1

0

你读过这个吗?根据我处理 100MB+ 文件的经验,您的内存使用量超过 2GB(例如,我的 160MB 文件高达 4.5GB)您使用的是 64 位 python 吗?

于 2014-03-25T15:25:31.327 回答