Python으로 방향키 입력 받기

 
Python을 이용해 방향키를 입력받는 방법은 다양하다. 우선 방향키를 입력하기 위해 표준 라이브러리인 curses를 사용할 수 있다. curses는 여러 가지 기능들을 포함하고 있는데, 방향키를 입력받기 위해 사용하는 기능이 그중 하나이다. 또한 pygame과 같은 다른 라이브러리도 사용할 수 있으며, 방향키 입력을 보다 쉽게 받을 수 있는 다양한 방법을 제공한다.
키보드 입력을 받기 위한 다른 방법으로는 sys.stdin.read(1)을 이용할 수 있다. 이 방법은 한 번에 한 문자씩 입력을 받아 버퍼 안에 저장하고, 방향키가 입력되었는지 확인하는 것이 목적이다. 이를 위해 방향키가 해당 입력을 감지하는 if문을 사용하여 방향키가 입력되었을 때 원하는 동작을 수행할 수 있다.
 
방향키를 입력받기 위해 curses를 사용하는 실제 코드 예시는 다음과 같다.
import curses stdscr = curses.initscr() curses.cbreak() stdscr.keypad(True) key = '' while key != ord('q'): key = stdscr.getch() if key == curses.KEY_LEFT: # 왼쪽 방향키가 입력되었을 때 원하는 동작 elif key == curses.KEY_RIGHT: # 오른쪽 방향키가 입력되었을 때 원하는 동작 curses.endwin()
 
아래의 방법을 사용할 수도 있다.
import curses screen = curses.initscr() curses.cbreak() screen.keypad(True) key = screen.getch() if key == curses.KEY_UP: print("Up arrow key") elif key == curses.KEY_DOWN: print("Down arrow key") elif key == curses.KEY_RIGHT: print("Right arrow key") elif key == curses.KEY_LEFT: print("Left arrow key") else: # not an arrow key pass curses.endwin()
또한 sys.stdin.read(1)을 사용하는 실제 코드 예시는 다음과 같다.
import sys key = '' while key != 'q': key = sys.stdin.read(1) if key == '\\x1b[D': # 왼쪽 방향키가 입력되었을 때 원하는 동작 elif key == '\\x1b[C': # 오른쪽 방향키가 입력되었을 때 원하는 동작