2014-03-05 2 views
1

메인 스크립트에서 나는 어떤 조건 하에서 그것을 멈추고 싶다. 나는 return을 시도했지만 그것은 함수 밖이므로 잘못된 것입니다. exit을 시도했지만 멈추지 않습니다. 다음을 참조하십시오.파이썬 스크립트가 끝나기 전에 어떻게 멈추는 지

print 'step 1' 
exit 
print 'step 2' 

어떻게해야합니까? 내가 사용하는 버전 2.7.5+

+2

실제로 코드는 기능 밖에 있으면 안됩니다. 선언문을 제외하고 함수를 제외한 유일한 코드는'main' 함수에 대한 호출이어야합니다 : [if __name__ == "__main __":'do?] (http://stackoverflow.com)/q/419163) –

답변

6

사용 exit()

from sys import exit 
print 'step 1' 
exit() 
print 'step 2' 
+0

이것은 아주 좋습니다. 감사 ! – tqjustc

2

당신이 함수에없는 경우,이 완전히 파이썬 ,도 종료됩니다 것을 sys.exit()

주를 사용 IDLE입니다 더 큰 프로그램 안에있는 모듈에서 호출 된 경우.

일반적으로 함수에서 return으로 조직하는 것이 더 좋으며 가능한 많은 코드를 함수 내에 유지하십시오.

1

파이썬 스크립트를 종료하는 또 다른 방법은 단순히 raise으로 SystemExit 예외를 발생하는 것입니다

print 'step 1' 
raise SystemExit 
print 'step 2' 

이 솔루션은 먼저 sys를 가져올 필요가없는 것을 제외하고, sys.exit가 않습니다 정확히 않습니다. 그것이 나쁜 연습 간주되기 때문에

print 'step 1' 
exit() # Add() after exit to call the function 
print 'step 2' 

그러나이 솔루션을 사용하지 않아야합니다 :


또한, 특정 문제는 당신이 실제로 exit 함수를 호출되지 않은 사실에 의해 발생했다. 대신 위의 그림과 같이 sys.exit 또는 raise을 사용해야합니다.

관련 문제