1

我是 python 新手......你被警告了。

我从http://wiki.python.org/moin/RssLibraries复制了一个示例,但我不断收到错误消息

"future_calls = [Future(feedparser.parse,rss_url) for rss_url in hit_list]
TypeError: __init__() takes exactly 1 argument (3 given)"

这是我的代码:

import feedparser
from futures import Future


hit_list = [ "http://feeds.reuters.com/news/artsculture", "http://feeds.reuters.com/reuters/healthNews" ] # list of feeds to pull down

# pull down all feeds
future_calls = [Future(feedparser.parse,rss_url) for rss_url in hit_list]
# block until they are all in
feeds = [future_obj() for future_obj in future_calls]

entries = []
for feed in feeds:
    entries.extend( feed[ "item" ] )
    sorted_entries = sorted(entries, key=lambda entry: entry["title"])
    print sorted_entries
4

1 回答 1

1

你确定你使用的是正确的模块吗?你有:

from futures import Future

但如果您打算使用链接到的RssLibraries页面中的模块,那么它应该是

from future import Future

(并且您需要future从该页面上的链接下载该模块)。

看起来您实际上正在使用futures 模块,它是 Python 3concurrent.futures模块的后向端口,用于早期版本的 Python。

于 2012-04-17T02:05:38.047 回答