Spec-Zone.ru › Python 3.12

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 и macOS stty 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 и более ранних версий, а также соответствует описаниям режима cbreak в справочных страницах stty(1) для Linux, macOS и BSD.

См. также

Module termios

Низкоуровневый интерфейс управления терминалом.

© 2001–2024 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.12/library/tty.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API