2010-04-10 58 views
0

我想运行一个线程来解析使用通用提要解析器的链接列表,但是当我启动线程时,我得到一个跟踪/ BPT陷阱。在线程对象内运行feedparser时的跟踪/ BPT陷阱

下面是我使用的代码:

class parseRssFiles(Thread): 
    def __init__ (self,rssLinks): 
     Thread.__init__(self) 
     self.rssLinks = rssLinks 
    def run(self): 
     self.rssContents = [ feedparser.parse(link) for link in rssLinks] 

是否有任何其他方式做到这一点?

链接到由Mac OS X 10.6.2生成报告:http://simaom.com/trace.txt

感谢

回答

1

没有一个工作测试用例,很难确切知道,但我怀疑你正在运行到记录的问题在Python tracker issue 7144中,即尝试初始化除主线程外的CoreFoundation框架。 Python 2.6.5中解决了这个问题,你可以从python.org或MacPorts安装。苹果公司提供的Python 2.6.1在10.6中未经测试的解决方法可能是在主线程中执行一些无害的操作,在启动任何辅助线程之前将会导致CoreFoundation被初始化。像这样的主线程可能会这样做:

import locale 
locale.getdefautlocale() 
+0

是的,就是这样。谢谢。 – simao 2010-04-11 23:31:45