我有,我想,如果條件得到滿足,停止執行一個簡單的Python腳本。
例如:
done = True
if done:
# quit/stop/exit
else:
# do other stuff
從本質上講,我要找的東西,等效表現在一個函數體的「迴歸」的關鍵字,允許的代碼流退出功能,而不是執行剩下的代碼。
我有,我想,如果條件得到滿足,停止執行一個簡單的Python腳本。
例如:
done = True
if done:
# quit/stop/exit
else:
# do other stuff
從本質上講,我要找的東西,等效表現在一個函數體的「迴歸」的關鍵字,允許的代碼流退出功能,而不是執行剩下的代碼。
要退出腳本就可以使用,
import sys
sys.exit()
您也可以提供一個退出狀態值,通常是一個整數。
import sys
sys.exit(0)
退出零,通常被解釋爲成功。非零代碼通常被視爲錯誤。默認值是用零退出。
import sys
sys.exit("aa! errors!")
打印「aa!errors!」並退出時狀態碼爲1.
os模塊中還有一個_exit()函數。 sys.exit()函數引發SystemExit異常以退出程序,因此可以執行語句和清理代碼。 os._exit()版本不這樣做。它只是結束程序而不做任何清理或清空輸出緩衝區,所以通常不應該使用它。
Python docs表示os._exit()是結束使用os.fork()調用創建的子進程的正常方式,因此它在某些情況下有用。
exit()應該這樣做:
exit()應該這樣做。
如果整個程序應該停止使用sys.exit(),否則只需使用空的返回值。
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,因爲它似乎在其他代碼中更加出色(由於提高了關鍵字)。
嘗試
sys.exit("message")
它就像perl的
die("message")
如果這是你在找什麼。它會終止腳本的執行,即使它是從導入的模塊調用/ def /函數
比我快三秒:P – Dana 2008-10-07 16:48:40
而且我甚至先在shell中測試它:-) – Sec 2008-10-07 16:50:06
該死的你,我沒有看到這個/及時作出反應(在解釋器中測試也是肯定的)*搖動拳頭*;) – Runevault 2008-10-07 16:50:50