[python] 파이썬에서 키 입력 시 콘솔 창 크기 조정하기

파이썬에서 키 입력을 받을 때, 종종 콘솔 창의 크기를 조정해야 할 때가 있습니다. 특히 게임이나 그래픽스 관련 프로젝트에서는 콘솔 창 크기를 조정하여 더 나은 사용자 경험을 제공할 수 있습니다.

이번 포스트에서는 파이썬에서 키 입력을 받고, 그에 따라 콘솔 창 크기를 동적으로 조정하는 방법에 대해 알아보겠습니다.

ncurses 라이브러리 활용

콘솔 창 크기를 조정하기 위해 ncurses 라이브러리를 사용할 수 있습니다. 이 라이브러리는 터미널 환경에서 키 입력을 처리하고, 콘솔 창 크기를 조정하는 기능을 제공합니다.

먼저, ncurses를 설치해야 합니다. 다음 명령을 실행하여 ncurses를 설치합니다.

$ pip install ncurses

다음은 ncurses를 사용하여 키 입력과 콘솔 창 크기 조정을 처리하는 예제 코드입니다.

import curses

def main(stdscr):
    # 콘솔 창 크기 조정
    stdscr.resize(20, 40)
    
    # 키 입력 처리
    while True:
        key = stdscr.getch()
        if key == ord('q'):
            break
        elif key == curses.KEY_UP:
            # 상단으로 이동
            stdscr.move(stdscr.getyx()[0] - 1, stdscr.getyx()[1])
        elif key == curses.KEY_DOWN:
            # 하단으로 이동
            stdscr.move(stdscr.getyx()[0] + 1, stdscr.getyx()[1])
        elif key == curses.KEY_LEFT:
            # 좌측으로 이동
            stdscr.move(stdscr.getyx()[0], stdscr.getyx()[1] - 1)
        elif key == curses.KEY_RIGHT:
            # 우측으로 이동
            stdscr.move(stdscr.getyx()[0], stdscr.getyx()[1] + 1)

curses.wrapper(main)

위 코드에서 resize() 함수를 사용하여 콘솔 창의 크기를 조정하였습니다. getch() 함수를 사용하여 키 입력을 받고, KEY_UP, KEY_DOWN, KEY_LEFT, KEY_RIGHT 등의 상수와 비교하여 키 입력에 따라 콘솔 창 내에서 커서를 이동시키는 동작을 수행합니다.

실행 결과

위 코드를 실행하면 콘솔 창이 20x40 크기로 조정되며, 사용자가 방향키를 입력할 때마다 커서가 이동합니다.

마무리

이번 포스트에서는 파이썬에서 키 입력을 받고, 그에 따라 콘솔 창 크기를 동적으로 조정하는 방법에 대해 알아보았습니다. ncurses 라이브러리를 사용하면 터미널 기반의 프로젝트에서 좀 더 효과적인 사용자 경험을 제공할 수 있습니다.

더 자세한 내용은 ncurses 공식 문서를 참고하시면 좋습니다.