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