import asyncio
# 例3 依赖await 返回值的
async def func3(index):
print("func3 start {}".format(index))
answer = await add(index)
print("func3 end {}".format(answer))
async def add(index):
print("add start {}".format(index))
# await asyncio.sleep(2)
print("add end {}".format(index))
return 1+index
async def main():
print("mian开始执行")
task = [
asyncio.create_task(func3(1)),
asyncio.create_task(func3(2)),
asyncio.create_task(func3(4)),
asyncio.create_task(func3(5))
]
done, pending = await asyncio.wait(task)
print(done)
asyncio.run(main())
import asyncio
# 例3 依赖await 返回值的
async def func3(index):
print("func3 start {}".format(index))
answer = await add(index)
print("func3 end {}".format(answer))
async def add(index):
print("add start {}".format(index))
# await asyncio.sleep(2)
print("add end {}".format(index))
return 1+index
task_list =(func3(1),func3(2),func3(4),func3(5))
done,pending = asyncio.run(asyncio.wait(task_list))
print(done)
import aiohttp
import asyncio
async def fetch(session, url):
async with session.get(url,verify_ssl=False) as response:
text = await response.text()
print(text)
async def main():
async with aiohttp.ClientSession() as session:
url_list = [
]
tasks = [asyncio.create_task(fetch(session,url)) for url in url_list]
done, pending = await asyncio.wait(tasks)
if __name__ == '__main__':
asyncio.run(main())
使用Python的aiohttp库和asyncio模块,通过创建并管理协程任务来并发获取多个网页内容,实现了高效的异步网络请求。代码中展示了如何创建task对象,并通过asyncio.wait()进行任务等待,最后使用asyncio.run()执行主任务。
473

被折叠的 条评论
为什么被折叠?



