문제

가능한 복제 :
파이썬 스크립트 종료

조건이 충족되면 실행을 중지하고 싶은 간단한 파이썬 스크립트가 있습니다.

예를 들어:

done = True
if done:
    # quit/stop/exit
else:
    # do other stuff

본질적으로, 나는 함수 본문에서 '반환'키워드와 동등하게 동작하는 것을 찾고 있으며, 이는 코드의 흐름이 함수를 종료하고 나머지 코드를 실행하지 못하게 할 수 있습니다.

도움이 되었습니까?

해결책

사용할 수있는 스크립트를 종료하려면

import sys
sys.exit()

출구 상태 값, 일반적으로 정수를 제공 할 수도 있습니다.

import sys
sys.exit(0)

0으로 종료되며 일반적으로 성공으로 해석됩니다. 0이 아닌 코드는 일반적으로 오류로 취급됩니다. 기본값은 0으로 종료하는 것입니다.

import sys
sys.exit("aa! errors!")

"AA! 오류!" 상태 코드가 1로 종료됩니다.

OS 모듈에는 _exit () 함수도 있습니다. 그만큼 sys.exit () 함수는 프로그램을 종료하기 위해 SystemExit 예외를 제기하므로 문의 시도 및 청소 코드는 실행할 수 있습니다. os._exit () 버전은이 작업을 수행하지 않습니다. 출력 버퍼를 정리하거나 플러싱하지 않고 프로그램을 종료하므로 일반적으로 사용해서는 안됩니다.

그만큼 파이썬 문서 os._exit ()는 os.fork ()를 호출하여 생성 된 아동 프로세스를 종료하는 일반적인 방법이므로 특정 상황에서 사용됩니다.

다른 팁

import sys
sys.exit()

스크립트 본문을 함수에 넣으면 해당 기능에서 돌아올 수 있습니다.

def main():
  done = True
  if done:
    return
    # quit/stop/exit
  else:
    # do other stuff

if __name__ == "__main__":
  #Run as main program
  main()

사용할 수 있습니다.

import sys
sys.exit(...)

또는:

raise SystemExit(...)

선택적 매개 변수는 종료 코드 또는 오류 메시지 일 수 있습니다. 두 방법 모두 동일합니다. 나는 sys.exit을 선호했지만 최근에 SystemExit Rais로 전환했습니다. 왜냐하면 그것은 나머지 코드들 사이에서 더 잘 눈에 띄는 것처럼 보이기 때문입니다. 들어올리다 예어).

출구 ()는 트릭을 수행해야합니다

Exit ()가해야합니다.

노력하다

sys.exit("message")

그것은 perl과 같습니다

die("message")

이것이 당신이 찾고있는 것이라면. 스크립트의 실행을 종료하여 가져온 모듈 / def / function에서 호출됩니다.

전체 프로그램이 중지 된 경우 sys.exit ()를 사용하지 않으면 빈 반환을 사용하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top