tty — Функции управления терминалом
Исходный код: 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(). Перед переводом fd в режим raw сохраняется значение, возвращаемое функциейtermios.tcgetattr(); это значение возвращается функцией.Изменено в версии 3.12: Теперь возвращается исходный набор атрибутов tty вместо
None.
-
tty.setcbreak(fd, when=termios.TCSAFLUSH) -
Переводит файловый дескриптор fd в режим cbreak. Если параметр when не указан, по умолчанию используется
termios.TCSAFLUSH, который передаётся функцииtermios.tcsetattr(). Перед переводом fd в режим cbreak сохраняется значение, возвращаемое функциейtermios.tcgetattr(); это значение возвращается функцией.Очищает флаги локального режима
ECHOиICANON, а также задаёт минимальный объём вводимых данных — 1 байт — без задержки.Изменено в версии 3.12: Теперь возвращается исходный набор атрибутов tty вместо
None.Изменено в версии 3.12.2: Флаг
ICRNLбольше не очищается. Это восстанавливает поведение Python 3.11 и более ранних версий, а также соответствует описанию режима cbreak в справочных страницахstty(1)для Linux, macOS и BSD.
См. также
-
Moduletermios -
Низкоуровневый интерфейс управления терминалом.
© 2001 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.14/library/tty.html