我是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
答案 0 :(得分:1)
您确定使用的是正确的模块吗?你有:
from futures import Future
但是如果您想使用您链接到的RssLibraries页面中的模块,那么它应该是
from future import Future
(您需要从该页面上的链接下载future
模块。)
看起来你实际上正在使用futures module,它是Python 3 concurrent.futures
模块的后端口,用于早期版本的Python。