我确定标准库中有类似的东西,但似乎我错了。
我有一堆urlopen平行的网址。我想要类似内建map函数的东西,除了工作是由一堆线程并行完成的。
urlopen
map
有一个好的模块可以做到这一点吗?
有人建议我futures为此使用包装。我尝试了,它似乎正在工作。
futures
http://pypi.python.org/pypi/futures
这是一个例子:
"Download many URLs in parallel." import functools import urllib.request import futures URLS = ['http://www.foxnews.com/', 'http://www.cnn.com/', 'http://europe.wsj.com/', 'http://www.bbc.co.uk/', 'http://some-made-up-domain.com/'] def load_url(url, timeout): return urllib.request.urlopen(url, timeout=timeout).read() with futures.ThreadPoolExecutor(50) as executor: future_list = executor.run_to_futures( [functools.partial(load_url, url, 30) for url in URLS])