gpt4 book ai didi

python - 使用 xml.dom.minidom 解析 xml 时出现内存泄漏

转载 作者:行者123 更新时间:2023-12-01 04:58:44 33 4
gpt4 key购买 nike

我使用 xml.dom.minidom 来解析 xml 文件,有点像这样:

import xml.dom.minidom as dom

file= open('file.xml')
doc= dom.parse(file)
# SNIP
doc.unlink()

即使取消文档链接,内存使用量仍约为 120 MiB。当实际使用该程序时,导致解析多个xml文件,内存使用量攀升至300 MiB左右,这是 Not Acceptable 。

我确信内存泄漏不是由我的代码引起的,而是由 minidom 引起的,因为即使只是这样做

doc= dom.parse(file)
doc.unlink()

产生相同的结果。

我做错了什么,还是这是 minidom 中的一个错误?

P.S.:我更愿意坚持使用 minidom,因为我的代码中发生很多 xml 解析,而且我不想完全重写所有内容,但我会这样做如果没有其他选择的话。

最佳答案

我也在 minidom 上观察到同样的问题!我们并不孤单。例如,参见here .

建议使用其他带有 python 绑定(bind)的 XML 实现,例如

  • xml.etree.ElementTree :Python 标准库中的替代实现
  • libxml2 :带有 python 绑定(bind)的 XML C 解析器
  • lxml :与 libxml2 的更具 Python 风格的绑定(bind)

关于python - 使用 xml.dom.minidom 解析 xml 时出现内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26787026/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com