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 동작과 과거 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의 stty(1) 매뉴얼 페이지에 기술된 cbreak 모드와 일치합니다.

더 보기

모듈 termios

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

분실물 보관소