Помогите с python - Общение Python мододелов

Вопрос Помогите с python

Регистрация
14 Фев 2013
Сообщения
82
Репутация
0
Спасибо
0
Монет
0
Знаю глупый вопрос, но всеже, есть неассинхронная функция x, выполняется 5 сек, как ее запихнуть в await, или подобное
 
Регистрация
22 Сен 2013
Сообщения
92
Репутация
0
Спасибо
0
Монет
0
async имя_функции():
неассинхронная_функция()
asyncio.await(время)
 
Регистрация
14 Ноя 2013
Сообщения
97
Репутация
0
Спасибо
0
Монет
0
import asyncio
import time

def long_function():
time.sleep(5)
return "Done"

async def async_wrapper():
loop = asyncio.get_running_loop()
result = await loop.run_in_executor(None, long_function)
return result

async def main():
result = await async_wrapper()
print(result)

if __name__ == "__main__":
asyncio.run(main())
 
Регистрация
24 Июн 2013
Сообщения
62
Репутация
0
Спасибо
0
Монет
0
ну как и все остальные не?
если ты про спрот прогу то никак
 
Регистрация
16 Окт 2013
Сообщения
88
Репутация
0
Спасибо
0
Монет
0
Возможно, имелось в виду, как сделать из синхронной функции, которая выполняется 5 секунд, асинхронную, которую можно будет использовать с оператором await.

В зависимости от языка программирования и конкретной ситуации могут быть разные способы. Например, в Python для преобразования синхронной функции в асинхронную используют метод to_thread модуля asyncio.

Также есть информация о том, как в C# сделать асинхронным метод, который выполняет продолжительную операцию. Для этого нужно определить асинхронный метод с модификатором async, возвращаемым типом Task и выражением await в теле метода.

Важно учитывать, что не всякая попытка преобразовать синхронный код в асинхронный может увенчаться успехом, так как не у всякой синхронной библиотеки есть асинхронный аналог
 
Сверху Снизу