2012-01-09 48 views
11

我現在知道我們不能使用sys.exit()。那麼如何在新版本的Python中退出?從sys module documentation如何在Python 3.2中退出?

+2

是什麼讓你說你不能用'sys.exit()'?它出現在Python 3.2.2的文檔中:http://docs.python.org/py3k/library/sys.html#sys.exit – 2012-01-09 06:01:52

+3

這個問題絕不含糊,是一個真正的問題,完全可以在目前的形式合理地回答... – bfieck 2016-09-30 12:58:43

回答

16
import sys 
sys.exit() 

細節:

出口([參數])在Python

退出。這是 通過提高SystemExit 例外,通過最後的嘗試 語句很榮幸子句指定所以清理行動 實現,它是 可以攔截在外級別的出口嘗試 。可選 自變量arg可以是給出 退出狀態(默認爲0), 或其他類型的對象的整數。如果它是一個 整數,零被認爲是 successful termination'' and any nonzero value is considered異常 由shell等終止。 大多數系統要求其位於 範圍0-127內,否則會產生未定義的 結果。一些系統有一個 約定用於將具體的 含義分配給特定的退出代碼,但是這些通常是不完善的,但是 ; Unix程序通常對命令行語法錯誤使用2,對於 使用1,所有其他類型的錯誤。如果另一個 類型的對象被傳遞,沒有一個是 相當於傳遞零,以及任何其他 對象被印刷在sys.stderr 並且導致爲1的退出代碼在 特別是,sys.exit(「一些錯誤 消息「)是在出現錯誤時退出 程序的快速方法。

Source

+0

所以這是正常的? Traceback(最近調用最後一次): 文件「C:\ Python32 \ test」,第5行,在 sys.exit() SystemExit – 2012-01-09 10:27:41

+1

@KarthikSampath:如果出現錯誤,最好這樣說這個問題。請使用代碼示例和完整版本更新問題。 sys.exit()確實會引發SystemExit異常,是的。您的代碼可能會在某處捕獲該異常。 – 2012-01-10 10:49:08

+0

好的,謝謝。我認爲會像C++一樣退出程序。抱歉,添麻煩了。 – 2012-01-11 03:39:55