ユーザーに control-c を使用してスクリプトを閉じてもらいたいのですが、control-c を押すと、エラーと閉じる理由が表示されます (これは理にかなっています)。表示されているものではなく、独自のカスタム出力を画面に表示する方法はありますか? その特定のエラーを処理する方法がわかりません。
2206 次
3 に答える
1
signal モジュールを使用して、SIGINT シグナルのハンドラーを定義します。
import signal
import sys
def sigint_handler(signal_number, stack_frame):
print('caught SIGINT, exiting')
sys.exit(-1)
signal.signal(signal.SIGINT, sigint_handler)
raw_input('waiting...')
于 2016-01-14T00:33:15.773 に答える
0
汎用コードの場合、KeyboardInterrupt の処理で十分です。スレッド化などの高度なコードの場合は、まったく別の話です。簡単な例を次に示します。
http://docs.python.org/2/library/exceptions.html#exceptions.KeyboardInterrupt
try:
while 1:
x = raw_input("Type something or press CTRL+C to end: ")
print repr(x)
except KeyboardInterrupt:
print "\nWe're done here."
于 2013-07-08T18:41:30.440 に答える