Как запустить несколько совместных подпрограмм до завершения

#python #python-asyncio

#python #python-asyncio

Вопрос:

У меня есть следующее:

 import asyncio
import pathlib

import cdo

CDO = cdo.Cdo()

async def cdo_timmean(input_files):
    outputname = await CDO.timmean(input="-select,name=temp2 " " ".join(input_files))
    return outputname  # will be a string  

async def cdo_fldmean(input_files):
    outputname = await CDO.fldmean(input="-select,name=temp2 " " ".join(input_files))
    return outputname  # will be a string

input_files = pathlib.Path("/isibhv/projects/paleo_repo/simulation_repository/incoming/conpi/output/")
input_files = [str(filepath) for filepath in list(input_files.glob("*echam5_main_mm*nc"))]

timmean = cdo_timmean(input_files)
fldmean = cdo_fldmean(input_files)
  

Я не понимаю, как использовать asyncio для запуска этих двух совместных подпрограмм. Методы CDO.timmean and CDO.fldmean в обоих случаях запускают подпроцессы.

Комментарии:

1. Что вы пробовали до сих пор? Какие конкретные проблемы у вас возникли?

2. Посмотрите asyncio.gather() и asyncio.run() .