2014-03-05 43 views
1

在主腳本中,我想在某種情況下停止它。我試過return,但它是錯誤的,因爲它在功能之外。我試過exit,但它並沒有停止。參見以下內容:如何在結束之前停止python腳本

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()

注意,這將退出蟒蛇完全,甚至如果從一個大型程序中的模塊調用。

它通常會更好地組織到return從一個函數,並保持儘可能多的代碼在功能儘可能。

1

另一種方式來退出Python腳本是簡單地提高SystemExit異常與raise

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

該解決方案不正是sys.exit做,除了你不需要導入sys第一。

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

但是,因爲它被認爲是不好的做法,你不應該使用此解決方案:


而且,您的具體問題的事實,你沒有實際調用exit功能引起的。相反,您應該使用sys.exitraise,如上所示。

相關問題