프로그래밍 언어/Python

파이썬 종료 명령의 종류와 각각의 차이점

Rateye 2021. 11. 3. 10:24
728x90
반응형
질문 : 파이썬 종료 명령-왜 그렇게 많이 그리고 언제 각각을 사용해야합니까?

파이썬은 스크립트 실행을 중지하기 위해 다양한 명령을 지원하는 것 같습니다.
내가 찾은 선택은 quit() , exit() , sys.exit() , os._exit()

내가 놓친 것이 있습니까? 그들 사이의 차이점은 무엇입니까? 언제 각각을 사용 하시겠습니까?

답변

그들에 대한 몇 가지 정보를 제공하겠습니다.

  1. quit() 단순히 SystemExit 예외를 발생시킵니다. 또한 인쇄하면 다음 메시지가 표시됩니다.
    >>> print (quit) Use quit() or Ctrl-Z plus Return to exit >>>
    이 기능은 Python을 모르는 사람들을 돕기 위해 포함되었습니다. 결국 초보자가 파이썬을 종료하려고 할 가능성이 가장 높은 것 중 하나는 quit 입력하는 것입니다. 그럼에도 불구하고 프로덕션 코드 quit 해서는 안됩니다. site 모듈이로드 된 경우에만 작동하기 때문입니다. 대신이 기능은 인터프리터에서만 사용해야합니다.
  2. exit() quit 의 별칭입니다 (또는 그 반대의 경우). 그들은 단순히 파이썬을 더 사용자 친화적으로 만들기 위해 함께 존재합니다. 또한 인쇄 될 때 다음과 같은 메시지도 표시됩니다.
    >>> print (exit) Use exit() or Ctrl-Z plus Return to exit >>>
    그러나 quit exit 는 프로덕션 코드에서 사용하기에 좋지 않은 것으로 간주되며 인터프리터에서 사용하도록 예약해야합니다. site 모듈에도 의존하기 때문입니다.
  3. sys.exit()SystemExit 예외를 발생시킵니다. 그것과 동일 함이 수단 quitexit 그런 점에서. 그러나이 두 가지와 달리 sys.exit 는 프로덕션 코드에서 사용하기에 좋은 것으로 간주됩니다. sys 모듈이 항상 거기에 있기 때문입니다.
  4. os._exit() 는 정리 핸들러를 호출하거나 stdio 버퍼를 플러시하지 않고 프로그램을 종료합니다. 따라서 표준 종료 방법이 아니며 특별한 경우에만 사용해야합니다. os.fork 의해 생성 된 자식 프로세스에 있습니다. 주어진 네 가지 방법 중이 방법 만이 수행하는 작업에서 고유합니다.

 

 

주어진 네 가지 방법 중이 방법 만이 수행하는 작업에서 고유합니다.

요약하면 네 가지 방법 모두 프로그램을 종료합니다. 그러나 처음 두 가지는 프로덕션 코드에서 사용하기에 좋지 않은 것으로 간주되고 마지막은 특수 시나리오에서만 사용되는 비표준적이고 더러운 방식입니다. 따라서 프로그램을 정상적으로 종료하려면 세 번째 방법 인 sys.exit .

sys.exit 가 백그라운드에서 수행하는 작업을 직접 수행하고 실행할 수 있습니다.

raise SystemExit

이렇게하면 먼저 sys 를 가져올 필요가 없습니다.

그러나이 선택은 단순히 스타일에 대한 것이며 순전히 귀하에게 달려 있습니다.

출처 : https://stackoverflow.com/questions/19747371/python-exit-commands-why-so-many-and-when-should-each-be-used
728x90
반응형