在Ubuntu12.04中使用Python3进行lxml内存泄漏

时间:2012-09-12 07:53:34

标签: python memory lxml

我刚刚在Ubuntu12.04 pc中使用lxml安装了easy_install,并安装了Python 3.2.3。 lxml是3.0Alpha的最新版本。

我尝试了以下代码:

import lxml.html

def proc_tweet(ss):
    html=lxml.html.fragment_fromstring(ss)
    ps=html.xpath("//p[@node-type='feed_list_content']")

def test():
    ss=''
    f=open('test')
    for l in f: ss+=l.strip()
    f.close()
    while True: proc_tweet(ss)

if __name__=='__main__':
    test()

这里,'test'是一个文件,包含一个简短的HTML片段:

<dl action-type="feed_list_item" mid="3409553360609821" class="feed_list W_linecolor"> 
    <dd class="content"> 
        <p node-type="feed_list_content">This is a drill.</p> 
    </dd> 
    <dd class="clear"></dd> 
</dl>

随着时间的推移,问题是lxml占据了我所有的记忆。我试过这个

del ps
del html

它不起作用。谁知道为什么?

1 个答案:

答案 0 :(得分:1)

这是在3.0 beta 1中修复的错误。

为了将来参考,最好将软件工具的问题直接报告给维护它的项目,而不是仅将其发布到Internet上的任意位置。启动板错误跟踪器是报告lxml错误的正确位置。 github跟踪器主要用于拉取请求。