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Сообщить о неточности