tty – Функции управления терминалом¶tty – Terminal control functions
Исходный код: Lib/tty.py
Модуль tty определяет функции для перевода tty в режимы cbreak и raw.
Доступность: Unix.
Поскольку для работы требуется модуль termios, он работает только на Unix.
Модуль tty определяет следующие функции:
- tty.cfmakeraw(mode)¶
Преобразует список атрибутов tty mode (такой список возвращает
termios.tcgetattr()) в список атрибутов tty в raw-режиме.Добавлено в версии 3.12.
- tty.cfmakecbreak(mode)¶
Преобразует список атрибутов tty mode (такой список возвращает
termios.tcgetattr()) в список атрибутов tty в cbreak-режиме.Это сбрасывает флаги локального режима
ECHOиICANONв mode, а также устанавливает минимальный ввод в 1 байт без задержки.Добавлено в версии 3.12.
Изменено в версии 3.12.2: Флаг
ICRNLбольше не сбрасывается. Это соответствует поведению Linux и macOSstty cbreak, а также тому, что исторически делалsetcbreak().
- tty.setraw(fd, when=termios.TCSAFLUSH)¶
Изменяет режим файлового дескриптора fd на raw. Если when опущен, по умолчанию используется
termios.TCSAFLUSHи передаётся вtermios.tcsetattr(). Возвращаемое значениеtermios.tcgetattr()сохраняется перед переключением fd в raw-режим; это значение возвращается.Изменено в версии 3.12: Возвращаемое значение теперь представляет собой исходные атрибуты tty, а не
None.
- tty.setcbreak(fd, when=termios.TCSAFLUSH)¶
Изменяет режим файлового дескриптора fd на cbreak. Если when опущен, по умолчанию используется
termios.TCSAFLUSHи передаётся вtermios.tcsetattr(). Возвращаемое значениеtermios.tcgetattr()сохраняется перед переключением fd в cbreak-режим; это значение возвращается.Это сбрасывает флаги локального режима
ECHOиICANON, а также устанавливает минимальный ввод в 1 байт без задержки.Изменено в версии 3.12: Возвращаемое значение теперь представляет собой исходные атрибуты tty, а не
None.Изменено в версии 3.12.2: Флаг
ICRNLбольше не сбрасывается. Это восстанавливает поведение Python 3.11 и более ранних версий, а также соответствует тому, что описано в man-страницахstty(1)в Linux, macOS и BSD относительно cbreak-режима.
См. также
- Модуль
termios Низкоуровневый интерфейс управления терминалом.