2013-01-01 83 views

回答

6

你可以嘗試sys.exit()

import sys 
... 
sys.exit() 

還有一個更標準exit()功能(你不需要輸入任何東西)。然而,有這樣和sys.exit()之間的一個顯着區別,如文檔中指出:

由於exit()最終「只」引發了異常,它只會退出從主線程調用時的過程中,除了不截獲。

+0

'sys.exit'也「only」引發一個異常,正如其docstring中指出的那樣:「通過提升SystemExit(status)來退出解釋器。」 –

+2

請注意''exit()'函數設計用於shell而不是應用程序。在你寫的任何代碼中,你需要'sys.exit()'。 –

+2

我不認爲這完全回答了他們的問題。他們是不是問當用戶按下'ctrl + d'時如何調用sys.exit()'? –

0

這裏的基本邏輯是處理SIGQUIT鍵盤中斷。有很多種中斷,Ctrl + C(SIGINT),Ctrl + D(SIGQUIT)等。This SOF thread討論了在python中捕獲Ctrl + C信號。基於相同的路線,它不難捕捉到Ctrl + D。這python documentation提供了更多的見解。

相關問題