可以使用asyncio模块来实现:

import asyncio

async def fetch_api(url):
    # 异步函数实现

urls = [...] # url列表
abc = [] # 存储结果的列表

async def main():
    tasks = [asyncio.create_task(fetch_api(url)) for url in urls]
    for task in asyncio.as_completed(tasks):
        result = await task
        abc.append(result)

await main()

# 所有异步函数执行完毕,继续执行后面的代码

解释如下:

  • 定义异步函数fetch_api,用于执行每个url请求;
  • 定义url列表和结果存储列表abc;
  • 定义函数main,用于创建任务列表并使用asyncio.as_completed方法等待所有任务执行完毕,并将结果添加到abc列表中;
  • 最后使用await main()来执行主函数,等待所有异步函数执行完毕后继续执行后面的代码。
python3 同时对urls里的每个url执行异步函数 fetch_apiurl 结果写进abc这个list等所有异步函数结束继续执行后面的代码怎么写

原文地址: https://www.cveoy.top/t/topic/bP6Y 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录