Python Glossary English

Python 3.5+osфункция

os.get_blocking

os — режим дескриптора

Проверяет, находится ли дескриптор в блокирующем режиме ввода-вывода. На Windows — с Python 3.12 и только для каналов.

Синтаксис

os.get_blocking(...)

Неблокирующий дескриптор возвращает ошибку BlockingIOError вместо ожидания, если данных нет. Так работают asyncio и selectors: они переводят сокеты и каналы в неблокирующий режим. На Windows с 3.12 поддерживаются только каналы.

Примеры

import os
r, w = os.pipe()
print(os.get_blocking(r))   # → только Unix: True — новый канал открыт в блокирующем режиме
os.set_blocking(r, False)   # → только Unix: переводим тот же дескриптор в неблокирующий режим
print(os.get_blocking(r))   # → только Unix: False — get_blocking видит изменение флага O_NONBLOCK
print(os.get_blocking(9999))   # → только Unix: OSError (EBADF, Bad file descriptor) — такого дескриптора нет

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности