私は、raw_inputがキーボード割り込みをキャッチしようとするための少しのPythonコードを持っています。私はこの関数でコードを実行する場合、それは完全に正常に動作します。しかし、私のプログラムでそれを実行すると、キーボードの割り込みがキャッチされていないことを示すprint文は決して作成されません。プログラムは終了しようとし、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を押すだけで「ユーザによって中断されました」というメッセージが正しく表示され、終了します。私はあなたが意味するものを再現することができません... –