Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python의 터미널 제어 기능

<시간/>

Unix 시스템에서 터미널 컨트롤을 변경하려면 Python에서 tty 관련 메서드를 사용할 수 있습니다. tty 사용 모듈에서 터미널의 두 가지 다른 모드를 설정할 수 있습니다. 원시 모드 및 cbreak 모드.

tty 모듈을 사용하려면 −

를 사용하여 가져와야 합니다.
import tty

tty 모듈에는 다음과 같은 몇 가지 모듈이 있습니다. -

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

이 메서드는 터미널 모드를 원시 모드로 변경하는 데 사용됩니다. 원시 모드에서 커서는 새 줄로 이동하지만 캐리지 리턴 작업은 수행되지 않습니다. 또한 Return 키를 누를 필요도 없습니다. 키를 입력하여 시스템에 입력하면 작성 후 자동으로 전송됩니다.

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

이 메서드는 터미널 모드를 cbreak 모드로 변경하는 데 사용됩니다. 이 모드에서는 커서가 새 줄로 이동하므로 입력을 시스템으로 보내기 위해 Return 키를 누를 필요가 없으며, 작성한 후 자동으로 보냅니다.

예시 코드

import sys
import tty
import termios
file_desc = sys.stdin.fileno()
old_setting = termios.tcgetattr(file_desc)
tty.setraw(sys.stdin)
for i in range(5):
   char = sys.stdin.read(1)
   print("Char: " + str(char))
termios.tcsetattr(file_desc, termios.TCSADRAIN, old_setting)

출력

$ python3 example.py
Char: K
   
   Char: E
      
      Char: 5
         
         Char: 2
            
            Char: @