728x90
반응형
질문 : 파이썬 종료 명령-왜 그렇게 많이 그리고 언제 각각을 사용해야합니까?
파이썬은 스크립트 실행을 중지하기 위해 다양한 명령을 지원하는 것 같습니다.
내가 찾은 선택은 quit()
, exit()
, sys.exit()
, os._exit()
내가 놓친 것이 있습니까? 그들 사이의 차이점은 무엇입니까? 언제 각각을 사용 하시겠습니까?
답변
그들에 대한 몇 가지 정보를 제공하겠습니다.
quit()
단순히SystemExit
예외를 발생시킵니다. 또한 인쇄하면 다음 메시지가 표시됩니다.
이 기능은 Python을 모르는 사람들을 돕기 위해 포함되었습니다. 결국 초보자가 파이썬을 종료하려고 할 가능성이 가장 높은 것 중 하나는>>> print (quit) Use quit() or Ctrl-Z plus Return to exit >>>
quit
입력하는 것입니다. 그럼에도 불구하고 프로덕션 코드quit
해서는 안됩니다.site
모듈이로드 된 경우에만 작동하기 때문입니다. 대신이 기능은 인터프리터에서만 사용해야합니다.exit()
quit
의 별칭입니다 (또는 그 반대의 경우). 그들은 단순히 파이썬을 더 사용자 친화적으로 만들기 위해 함께 존재합니다. 또한 인쇄 될 때 다음과 같은 메시지도 표시됩니다.
그러나>>> print (exit) Use exit() or Ctrl-Z plus Return to exit >>>
quit
exit
는 프로덕션 코드에서 사용하기에 좋지 않은 것으로 간주되며 인터프리터에서 사용하도록 예약해야합니다.site
모듈에도 의존하기 때문입니다.sys.exit()
도SystemExit
예외를 발생시킵니다. 그것과 동일 함이 수단quit
와exit
그런 점에서. 그러나이 두 가지와 달리sys.exit
는 프로덕션 코드에서 사용하기에 좋은 것으로 간주됩니다.sys
모듈이 항상 거기에 있기 때문입니다.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
반응형
'프로그래밍 언어 > Python' 카테고리의 다른 글
파이썬에서 문자열을 소문자로 바꾸는 방법 (0) | 2021.11.03 |
---|---|
파이썬 프로그램 실행 시간을 확인하는 방법 (0) | 2021.11.03 |
파이썬에서 case / switch 문을 사용하는 방법 (0) | 2021.11.02 |
PyPy가 6.3 배 빠르면 CPython보다 PyPy를 사용하면 안되는 이유 (0) | 2021.11.02 |
파이썬의 print 기능을 화면에 강제로 출력하는 방법 (0) | 2021.11.02 |