Документация Python неофициальный перевод

asyncio – Асинхронный ввод-выводasyncio – Asynchronous I/O


asyncio – это библиотека для написания конкурентного кода с использованием синтаксиса async/await.

asyncio используется как основа для нескольких асинхронных фреймворков Python, которые предоставляют высокопроизводительные сетевые и веб-серверы, библиотеки подключения к базам данных, распределённые очереди задач и т.д.

asyncio часто отлично подходит для задач, связанных с вводом-выводом, и высокоуровневого структурированного сетевого кода.

См. также

Концептуальный обзор asyncio

Объяснение основ работы asyncio.

asyncio предоставляет набор высокоуровневых API для:

Кроме того, существуют низкоуровневые API для разработчиков библиотек и фреймворков, чтобы:

Доступность: не WASI.

Этот модуль не работает или недоступен на WebAssembly. Подробнее см. платформы WebAssembly.

asyncio REPL

Вы можете поэкспериментировать с asyncio конкурентным контекстом в REPL:

$ python -m asyncio
asyncio REPL ...
Use "await" directly instead of "asyncio.run()".
Type "help", "copyright", "credits" or "license" for more information.
>>> import asyncio
>>> await asyncio.sleep(10, result='hello')
'hello'

Этот REPL обеспечивает ограниченную совместимость с PYTHON_BASIC_REPL. Рекомендуется использовать REPL по умолчанию для полной функциональности и новейших возможностей.

Возбуждает событие аудита cpython.run_stdin без аргументов.

Изменено в версии 3.12.5: (также 3.11.10, 3.10.15, 3.9.20 и 3.8.20) Генерирует аудируемые события.

Изменено в версии 3.13: По возможности использует PyREPL, в этом случае тоже выполняется PYTHONSTARTUP. Генерирует аудируемые события.

Справочные материалы

Примечание

Исходный код asyncio можно найти в Lib/asyncio/.