import aiohttp import asyncio import aiofiles async def foo(filename): async with aiofiles.open(filename, 'rb') as f: content = await f.read() async with aiohttp.ClientSession() as session: async with session.post(url='http://httpbin.org/post', data=content): pass if __name__ == "__main__": filenames = list() loop = asyncio.get_event_loop() tasks = [foo(filename=filename) for filename in filenames] loop.run_until_complete(asyncio.wait(tasks)) loop.close() 当然不仅仅可以使用aiohttp,如果在Python2,gevent也是一个不错的选择~
当然不仅仅可以使用aiohttp,如果在Python2,gevent也是一个不错的选择~