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