tty — 터미널 제어 함수

소스 코드: Lib/tty.py


tty 모듈은 tty를 cbreak 및 raw 모드로 설정하는 함수를 정의합니다.

가용성: Unix.

termios 모듈이 필요하기 때문에 유닉스에서만 작동합니다.

tty 모듈은 다음 함수를 정의합니다.:

tty.cfmakeraw(mode)

Convert the tty attribute list mode, which is a list like the one returned by termios.tcgetattr(), to that of a tty in raw mode.

Added in version 3.12.

tty.cfmakecbreak(mode)

Convert the tty attribute list mode, which is a list like the one returned by termios.tcgetattr(), to that of a tty in cbreak mode.

This clears the ECHO and ICANON local mode flags in mode as well as setting the minimum input to 1 byte with no delay.

Added in version 3.12.

버전 3.12.2에서 변경: The ICRNL flag is no longer cleared. This matches Linux and macOS stty cbreak behavior and what setcbreak() historically did.

tty.setraw(fd, when=termios.TCSAFLUSH)

파일 기술자 fd의 모드를 raw로 변경합니다. when이 생략되면, 기본값은 termios.TCSAFLUSH이며 termios.tcsetattr()로 전달됩니다. fd를 raw 모드로 설정하기 전에 termios.tcgetattr()의 반환값을 보관합니다; 이 값을 반환합니다.

버전 3.12에서 변경: The return value is now the original tty attributes, instead of None.

tty.setcbreak(fd, when=termios.TCSAFLUSH)

파일 기술자 fd의 모드를 cbreak로 변경합니다. when이 생략되면, 기본값은 termios.TCSAFLUSH이며 termios.tcsetattr()로 전달됩니다. fd를 cbreak 모드로 설정하기 전에 termios.tcgetattr()의 반환값을 보관합니다; 이 값을 반환합니다.

This clears the ECHO and ICANON local mode flags as well as setting the minimum input to 1 byte with no delay.

버전 3.12에서 변경: The return value is now the original tty attributes, instead of None.

버전 3.12.2에서 변경: The ICRNL flag is no longer cleared. This restores the behavior of Python 3.11 and earlier as well as matching what Linux, macOS, & BSDs describe in their stty(1) man pages regarding cbreak mode.

더 보기

모듈 termios

저수준 터미널 제어 인터페이스.