Python

tty — 터미널 제어 함수

소스 코드: Lib/tty.py


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

가용성: Unix.

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

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

tty.cfmakeraw(mode)

termios.tcgetattr() 가 반환하는 리스트와 같은 tty 속성 리스트 mode 를 raw 모드의 tty 속성 리스트로 변환하십시오.

Added in version 3.12.

tty.cfmakecbreak(mode)

termios.tcgetattr() 가 반환하는 리스트와 같은 tty 속성 리스트 mode 를 cbreak 모드의 tty 속성 리스트로 변환하십시오.

이것은 mode 에서 ECHOICANON 로컬 모드 플래그를 지우고, 지연 없이 최소 입력을 1바이트로 설정합니다.

Added in version 3.12.

버전 3.12.2에서 변경: ICRNL 플래그는 더 이상 지워지지 않습니다. 이는 Linux 및 macOS의 stty cbreak 동작과 :func:`setcbreak`가 역사적으로 수행했던 동작과 일치합니다.

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

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

버전 3.12에서 변경: 반환 값은 이제 None 이 아니라 원래의 tty 속성들을 반환합니다.

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

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

이것은 ECHOICANON 로컬 모드 플래그를 지우고, 지연 없이 최소 입력을 1바이트로 설정합니다.

버전 3.12에서 변경: 반환 값은 이제 None 이 아니라 원래의 tty 속성들을 반환합니다.

버전 3.12.2에서 변경: ICRNL 플래그는 더 이상 지워지지 않습니다. 이는 Python 3.11 이전 및 이후의 동작을 복원하며, Linux, macOS, 및 BSD가 cbreak 모드에 대해 stty(1) man 페이지에 명시한 내용과 일치합니다.

더 보기

모듈 termios

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

분실물 보관소