Python 3.5 中的異步HTTP請求寫法


Python 3.5 增加了對async def and await的支持,同樣的異步代碼看起來干凈了很多,也更易讀。

 

 

import aiohttp
import asyncio

async def get_status(url, id):
    r = await aiohttp.get(url)
    print(r.status, id)
    r.close()


tasks = []
for i in range(100):
    tasks.append(asyncio.ensure_future(get_status('https://api.github.com/events', id=i)))


if __name__ == '__main__':
    loop = asyncio.get_event_loop()
    loop.run_until_complete(asyncio.wait(tasks))
    loop.close()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM