我有一段python代碼來嘗試使raw_input捕獲鍵盤中斷。如果我在這個函數中運行代碼,它可以很好地工作。但是如果我在程序中運行它,打印語句永遠不會生成,表明鍵盤中斷沒有被捕獲。該程序試圖退出並失敗,直到它升級到SIGKILL,這當然工作正常。我的猜測是在其他地方鍵盤中斷被捕獲,防止異常運行。我的問題是,這種中斷可能發生在什麼地方?我如何防止它阻止這一中斷。我的計劃是在程序捕捉鍵盤中斷和自殺之間增加一點時間,以便在這裏抓住一點時間。用原始輸入捕捉鍵盤中斷
任何想法讚賞
謝謝!
import sys
def interruptable_input(text=''):
'''Takes raw input, but accepts keyboard interrupt'''
try:
return raw_input(text)
except KeyboardInterrupt:
print "Interrupted by user"
sys.exit()
只需在2.7.10交互式解釋器會話中調用此函數,然後正確敲擊CTRL + C即可打印「由用戶中斷」並退出。我無法重現你的意思...... –