我的格式质量不佳的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()
答案 0 :(得分:4)
您可能希望尝试直接使用write方法使用文件句柄而不是调用tostring。改变这一行:
f.write(etree.tostring(tree,pretty_print=True))
到此:
tree.write(f, pretty_print=True)
这应该有望将内存使用量减少一半。