[python] 파이썬에서 특정 키로 프로그램 종료하기

파이썬 프로그램을 개발하다보면 특정 조건이 충족되었을 때 프로그램을 종료해야하는 경우가 있습니다. 이때 특정 키를 누르면 프로그램이 정상적으로 종료되도록 구현할 수 있습니다.

Ctrl+C를 사용한 프로그램 종료

가장 간단하고 보편적인 방법은 터미널에서 Ctrl+C 키를 누르는 것입니다. KeyboardInterrupt 예외가 발생되므로 이를 처리하는 코드를 작성하면 됩니다.

try:
    while True:
        # 여기에 프로그램 실행 코드 작성
        pass
except KeyboardInterrupt:
    print("프로그램을 종료합니다.")
    # 추가적인 정리 작업 등을 수행할 수 있습니다.

이렇게 실행하면 터미널에서 Ctrl+C를 누를 때까지 프로그램이 계속 실행되며, Ctrl+C를 누르면 KeyboardInterrupt 예외가 발생하여 except 블록이 실행됩니다. 여기에서는 단순히 메시지를 출력하고 프로그램을 종료하는 예시를 보여줬지만, 이후에 추가적인 작업을 수행할 수도 있습니다.

특정 키 입력을 감지하여 프로그램 종료

Ctrl+C 외에도 다른 특정 키를 사용하여 프로그램을 종료하고 싶을 때에는 keyboard 라이브러리를 사용할 수 있습니다. 이 라이브러리는 파이썬에서 키 입력을 처리하는 데 도움이 되는 기능을 제공합니다.

먼저, keyboard 라이브러리를 설치해야합니다. 터미널에서 다음 명령을 실행하여 설치할 수 있습니다.

pip install keyboard

다음 코드는 keyboard 라이브러리를 사용하여 q 키를 누르면 프로그램이 종료되도록 하는 예제입니다.

import keyboard

def exit_program():
    print("프로그램을 종료합니다.")
    # 추가적인 정리 작업 등을 수행할 수 있습니다.
    exit(0)

keyboard.on_press_key("q", lambda _: exit_program())

while True:
    # 여기에 프로그램 실행 코드 작성
    pass

위 코드에서 keyboard.on_press_key() 함수를 사용하여 q 키를 감지하는 이벤트 핸들러를 등록합니다. 이벤트가 발생하면 exit_program() 함수가 호출되어 프로그램이 종료됩니다.

참고 자료