自Python 3.5引入'str_aaa_2012-0000.txt' 'http://weburl.com' 'SHA256' 'hashdata'
'str_aaa_2012-0001.txt' 'http://weburl.com' 'SHA256' 'hashdata'
'str_aaa_2012-0002.txt' 'http://weburl.com' 'SHA256' 'hashdata'
'str_aaa_2012-0003.txt' 'http://weburl.com' 'SHA256' 'hashdata'
'str_aaa_2012-0004.txt' 'http://weburl.com' 'SHA256' 'hashdata'
以来,docs aiohttp
中建议的语法已发生变化。现在,为了得到一个网址,他们建议:
async with
如何修改此内容以获取网址集合而不仅仅是一个网址?
在旧import aiohttp
import asyncio
async def fetch(session, url):
with aiohttp.Timeout(10):
async with session.get(url) as response:
return await response.text()
if __name__ == '__main__':
loop = asyncio.get_event_loop()
with aiohttp.ClientSession(loop=loop) as session:
html = loop.run_until_complete(
fetch(session, 'http://python.org'))
print(html)
示例中,您将设置一个任务列表,例如
asyncio
我尝试将这样的列表与上面的方法结合起来但失败了。
答案 0 :(得分:19)
对于并行执行,您需要asyncio.Task
我已将您的示例转换为从多个来源获取并发数据:
Number 3
Orginal index 1
Number 4
Orginal index 3
Number 5
Orginal index 2
Number 7
Orginal index 0