tty
— Функции управления терминалом¶
Источник: Lib/tty.py
Модуль tty
определяет функции для перевода tty в режимы cbreak и raw.
Availability: Unix.
Поскольку для его работы требуется модуль termios
, он будет работать только на Unix.
Модуль tty
определяет следующие функции:
- tty.cfmakeraw(mode)¶
Преобразуйте список атрибутов tty mode, который представляет собой список, подобный тому, что возвращает
termios.tcgetattr()
, в список атрибутов tty в режиме raw.Added in version 3.12.
- tty.cfmakecbreak(mode)¶
Преобразуйте список атрибутов tty mode, который представляет собой список, подобный тому, что возвращает
termios.tcgetattr()
, в список атрибутов tty в режиме cbreak.Это очищает флаги
ECHO
иICANON
локального режима в mode, а также устанавливает минимальный входной сигнал в 1 байт без задержки.Added in version 3.12.
Изменено в версии 3.12.2: Флаг
ICRNL
больше не очищается. Это соответствует поведениюstty cbreak
в Linux и macOS, а также тому, что исторически делал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 и более ранних версий, а также соответствует тому, что описано в Linux, macOS и BSD на ихstty(1)
man-страницах относительно режима cbreak.
См.также
- Модуль
termios
Низкоуровневый интерфейс управления терминалом.