【发布时间】:2011-03-04 05:07:47
【问题描述】:
有谁知道在 Python 中生成非常大的 xml 文件(例如 100-500 MiB)的内存高效方法?
我一直在使用 lxml,但内存使用量已超标。
【问题讨论】:
-
这是个好主意吗?什么会使用这样的文件?
-
500MiB XML 文件?哎呀——如果我的 XML 文件达到 500MiB,我会考虑使用更高效的文件格式! :-)
-
输出文档有多复杂?你从哪里得到输入数据?输入到输出的转换有多复杂?
-
您是否考虑过是否可以将其分解为更易于管理的部分并使用 Xinclude ?我猜这取决于什么样的进程将消耗这个大文件,因为关键不是在最后将 xincludes 处理成一个大文件,而是让最终的消费者进程动态处理 xincludes .不知道该模型是否适合您的工作流程,但如果适合,它可以使其更易于管理。 (我很难想象 500MB 的 xml 文件会使用什么样的进程!;-)