파이썬에서 터미널로부터 화살표 키 입력을 받는 방법에 대해 알아보겠습니다. 화살표 키 입력은 보통 터미널에서 키보드의 방향키를 누를 때 발생하며, 이를 처리하기 위해서는 특정 라이브러리를 사용해야 합니다.
curses
라이브러리 사용하기
가장 일반적인 방법으로는 curses
라이브러리를 사용하는 것입니다. 이 라이브러리는 터미널 환경에서 문자 기반으로 화면을 제어하고 입력을 처리할 수 있는 기능을 제공합니다.
아래는 curses
라이브러리를 사용하여 화살표 키 입력을 처리하는 간단한 예제입니다:
import curses
def main(stdscr):
# 화면 초기화
stdscr.clear()
stdscr.refresh()
while True:
key = stdscr.getch()
if key == curses.KEY_UP:
# 위쪽 화살표 키 입력 처리
stdscr.addstr("Up arrow key pressed!")
elif key == curses.KEY_DOWN:
# 아래쪽 화살표 키 입력 처리
stdscr.addstr("Down arrow key pressed!")
elif key == curses.KEY_LEFT:
# 왼쪽 화살표 키 입력 처리
stdscr.addstr("Left arrow key pressed!")
elif key == curses.KEY_RIGHT:
# 오른쪽 화살표 키 입력 처리
stdscr.addstr("Right arrow key pressed!")
if __name__ == "__main__":
curses.wrapper(main)
위 예제는 curses.wrapper()
함수를 사용하여 main()
함수를 실행합니다. stdscr.getch()
함수를 사용하여 터미널로부터 사용자의 키 입력을 받고, 입력에 따라 각각의 화살표 키에 대한 처리를 수행합니다.
keyboard
라이브러리 사용하기
curses
라이브러리는 리눅스나 맥 OS와 같은 UNIX 기반 시스템에서만 동작합니다. 만약 윈도우에서 화살표 키 입력을 처리하고 싶다면, keyboard
라이브러리를 사용할 수 있습니다.
아래는 keyboard
라이브러리를 사용하여 화살표 키 입력을 처리하는 간단한 예제입니다:
import keyboard
def on_arrow_key(event):
if event.name == 'up':
# 위쪽 화살표 키 입력 처리
print("Up arrow key pressed!")
elif event.name == 'down':
# 아래쪽 화살표 키 입력 처리
print("Down arrow key pressed!")
elif event.name == 'left':
# 왼쪽 화살표 키 입력 처리
print("Left arrow key pressed!")
elif event.name == 'right':
# 오른쪽 화살표 키 입력 처리
print("Right arrow key pressed!")
keyboard.on_press_key("up", on_arrow_key)
keyboard.on_press_key("down", on_arrow_key)
keyboard.on_press_key("left", on_arrow_key)
keyboard.on_press_key("right", on_arrow_key)
keyboard.wait('esc')
위 예제는 keyboard.on_press_key()
함수를 사용하여 각각의 화살표 키에 대한 이벤트 핸들러를 등록합니다. 이벤트 핸들러는 해당 화살표 키를 눌렀을 때 수행되는 로직을 담고 있습니다.
마치며
위에서 소개한 방법을 사용하면 파이썬에서 터미널로부터 화살표 키 입력을 처리할 수 있습니다. 어떤 방법을 선택하든, 해당 라이브러리의 설치가 필요하며, 운영체제에 따라 호환성이 다를 수 있으니 참고해주시기 바랍니다.