繁体   English   中英

lxml pretty_print python内存重载

[英]lxml pretty_print python memory overload

我有一个格式不佳的xml文件,有超过350 MB的数据。 基本上,所有数据都合并为一行。 我正在尝试将其设置为一个新文件,以使生活更轻松,但我遇到了内存问题。 我在这里做错了吗?有办法解决这个问题吗? 我的电脑有4GB的RAM,是四核i5-2410M(2.30Ghz)

import os
from lxml import etree

parser = etree.XMLParser(remove_blank_text=True)
tree = etree.parse('filename',parser)
f = open('filename',"w")
f.write(etree.tostring(tree,pretty_print=True))
f.close()

您可能希望尝试直接使用write方法使用文件句柄而不是调用tostring。 改变这一行:

f.write(etree.tostring(tree,pretty_print=True))

对此:

tree.write(f, pretty_print=True)

这应该有望减少一半的内存使用量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM