Документация Python неофициальный перевод

tty.md

58 строк · 4.9 КБ · обычная страница · сырой текст · скачать

1> **Источник:** https://python-all.ru/3.14/library/tty.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# `tty` – Функции управления терминалом89**Исходный код:** [Lib/tty.py](https://python-all.ru/src/3.14/Lib/tty.py)1011---1213Модуль `tty` определяет функции для перевода tty в режимы cbreak и raw.1415[Доступность](https://python-all.ru/3.14/library/intro.html#availability): Unix.1617Поскольку для работы требуется модуль [`termios`](https://python-all.ru/3.14/library/termios.html#module-termios), он работает только на Unix.1819Модуль `tty` определяет следующие функции:2021#### `tty.cfmakeraw(mode)`2223Преобразует список атрибутов tty *mode* (такой список возвращает [`termios.tcgetattr()`](https://python-all.ru/3.14/library/termios.html#termios.tcgetattr)) в список атрибутов tty в raw-режиме.2425Добавлено в версии 3.12.2627#### `tty.cfmakecbreak(mode)`2829Преобразует список атрибутов tty *mode* (такой список возвращает [`termios.tcgetattr()`](https://python-all.ru/3.14/library/termios.html#termios.tcgetattr)) в список атрибутов tty в cbreak-режиме.3031Это сбрасывает флаги локального режима `ECHO` и `ICANON` в *mode*, а также устанавливает минимальный ввод в 1 байт без задержки.3233Добавлено в версии 3.12.3435Изменено в версии 3.12.2: Флаг `ICRNL` больше не сбрасывается. Это соответствует поведению Linux и macOS `stty cbreak`, а также тому, что исторически делал [`setcbreak()`](https://python-all.ru/3.14/library/tty.html#tty.setcbreak).3637#### `tty.setraw(fd, when=termios.TCSAFLUSH)`3839Изменяет режим файлового дескриптора *fd* на raw. Если *when* опущен, по умолчанию используется [`termios.TCSAFLUSH`](https://python-all.ru/3.14/library/termios.html#termios.TCSAFLUSH) и передаётся в [`termios.tcsetattr()`](https://python-all.ru/3.14/library/termios.html#termios.tcsetattr). Возвращаемое значение [`termios.tcgetattr()`](https://python-all.ru/3.14/library/termios.html#termios.tcgetattr) сохраняется перед переключением *fd* в raw-режим; это значение возвращается.4041Изменено в версии 3.12: Возвращаемое значение теперь представляет собой исходные атрибуты tty, а не `None`.4243#### `tty.setcbreak(fd, when=termios.TCSAFLUSH)`4445Изменяет режим файлового дескриптора *fd* на cbreak. Если *when* опущен, по умолчанию используется [`termios.TCSAFLUSH`](https://python-all.ru/3.14/library/termios.html#termios.TCSAFLUSH) и передаётся в [`termios.tcsetattr()`](https://python-all.ru/3.14/library/termios.html#termios.tcsetattr). Возвращаемое значение [`termios.tcgetattr()`](https://python-all.ru/3.14/library/termios.html#termios.tcgetattr) сохраняется перед переключением *fd* в cbreak-режим; это значение возвращается.4647Это сбрасывает флаги локального режима `ECHO` и `ICANON`, а также устанавливает минимальный ввод в 1 байт без задержки.4849Изменено в версии 3.12: Возвращаемое значение теперь представляет собой исходные атрибуты tty, а не `None`.5051Изменено в версии 3.12.2: Флаг `ICRNL` больше не сбрасывается. Это восстанавливает поведение Python 3.11 и более ранних версий, а также соответствует тому, что описано в man-страницах `stty(1)` в Linux, macOS и BSD относительно cbreak-режима.5253> **См. также**54>55> **Модуль [`termios`](https://python-all.ru/3.14/library/termios.html#module-termios)**56>57> Низкоуровневый интерфейс управления терминалом.58