Python에서 프로그램을 종료하는 방법

Azaz Farooq 2023년10월10일
  1. quit()메서드로 Python 프로그램 종료
  2. exit()메서드로 Python 프로그램 종료
  3. sys.exit()메서드로 Python 프로그램 종료
  4. os.exit()메서드로 Python 프로그램 종료
  5. 결론
Python에서 프로그램을 종료하는 방법

PHP에서와 마찬가지로die()명령은 실행중인 스크립트를 종료합니다. 마찬가지로 Python 스크립트는quit(),exit(),sys.exit(),os.exit()와 같은 다른 내장 함수를 사용하여 종료 할 수 있습니다. 파이썬은 하향식 순서로 명령을 실행하고 기준에 따라 코드에 정의 된 루프를 실행합니다. 그러나 파이썬 인터프리터가 EOF파일의 끝에 도달하면 더 많은 명령어를 읽을 수 없으므로 실행을 종료합니다.

이 기사에서는 Python으로 프로그램을 종료하는 방법을 소개합니다.

quit()메서드로 Python 프로그램 종료

내장 함수를 사용하여 Python 스크립트를 종료하는 쉽고 효과적인 방법은quit()메소드입니다. 이 기능은 파이썬 인터프리터에서만 사용할 수 있습니다. 이 명령이 실행되면 OS에서SystemExit 예외가 생성됩니다. 전체 예제 코드는 다음과 같습니다.

for test in range(10):
    if test == 5:
        print(quit)
        quit()
        print(test)

출력:

0
1
2
3
4
Use quit() or Ctrl-Z plus Return to exit

exit()메서드로 Python 프로그램 종료

기능은quit()메소드와 동일하지만이를 위해 Python 라이브러리를 가져올 필요는 없습니다. 전체 예제 코드는 다음과 같습니다.

for test in range(10):
    if test == 5:
        print(exit)
        exit()
    print(test)

출력:

0
1
2
3
4
Use exit() or Ctrl-Z plus Return to exit

sys.exit()메서드로 Python 프로그램 종료

이 메서드는quit()exit()메서드보다 낫습니다. 구문은 다음과 같습니다.

sys.exit([arg])

arg는 구문에서 선택 사항입니다. 대부분 정수 값이지만 문자열 값도 전달할 수 있습니다. 0 인수 값은 성공적인 종료에서 가장 좋은 경우로 간주됩니다. 전체 예제 코드는 다음과 같습니다.

import sys

weight = 70
if weight < 80:
    sys.exit("weight less than 80")
else:
    print("weight is not less than 80")

출력:

SystemExit: weight less than 80

os.exit()메서드로 Python 프로그램 종료

이 방법은 스크립트의 자식 프로세스와 같은 특별한 상태로 프로세스를 종료하는 데 사용됩니다. os.fork()메소드를 사용하여 자식 프로세스를 생성 할 수 있습니다. os.fork()명령은 Linux에서 효율적으로 작동합니다. 그러나 Windows 용 Cygwin을 사용해야합니다. 참조는 여기입니다.

전체 예제 코드는 다음과 같습니다.

import os

parent_id = os.fork()
if parent_id > 0:
    print("\nIn parent process")
    info = os.waitpid(parent_id, 0)
    if os.WIFEXITED(info[1]):
        code = os.WEXITSTATUS(info[1])
        print("Child's exit code:", code)
else:
    print("child process")
    print("Process ID:", os.getpid())
    print("Test Code")
    print("Child exiting..")
    os._exit(os.EX_OK)

os.wait()메소드는 종료 상태와 함께 하위 프로세스 ID를 반환합니다. os._exit()메소드를 사용하여 종료 코드를 얻습니다.

출력:

AttributeError: module 'os' has no attribute 'fork'

결론

sys.exit()메소드는 위의 모든 메소드 중에서 선호됩니다. 반면에os.exit()명령은 특정 시나리오 및 즉시 종료에 사용해야합니다.