系统相关
首页 > 系统相关> > 内存泄漏使用xml.dom.minidom解析xml

内存泄漏使用xml.dom.minidom解析xml

作者:互联网

我正在使用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,这是不可接受的.

我确定内存泄漏不是由我的代码引起的,而是由极小的原因引起的,因为即使这样做

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

产生相同的结果.

我是在做错什么,还是这是一个小小的错误?

P.S .:我宁愿坚持最小化,因为在我的代码中发生了很多xml解析,并且我不想完全重写所有这些解析,但是如果没有其他选择,我会做的.

解决方法:

我也观察到了相同的问题!我们并不孤单.
参见例如here.

在那里建议使用其他具有python绑定的XML实现,例如

> xml.etree.ElementTree:Python标准库中的替代实现
> libxml2:带有python绑定的XML C解析器
> lxml:与libxml2的更多pythonic绑定

标签:minidom,python,python-2-7,xml,memory-leaks
来源: https://codeday.me/bug/20191009/1879061.html