Ctrl+を押したときにトレースバックが表示されないようにする方法はありますか?つまり、Python スクリプトでcレイズしますか?KeyboardInterrupt
14721 次
8 に答える
41
これを試して:
import signal
import sys
signal.signal(signal.SIGINT, lambda x, y: sys.exit(0))
この方法では、すべてを例外ハンドラーにラップする必要はありません。
于 2012-08-01T15:32:49.003 に答える
7
キャッチKeyboardInterrupt
:
try:
# do something
except KeyboardInterrupt:
pass
于 2011-08-16T03:19:00.383 に答える
2
try/except ブロックでキャッチします。
while True:
try:
print "This will go on forever"
except KeyboardInterrupt:
pass
于 2011-08-16T03:19:02.920 に答える
2
try:
your_stuff()
except KeyboardInterrupt:
print("no traceback")
于 2011-08-16T03:19:26.253 に答える
1
また、デフォルトでは、インタプリタはステータス コード 128 + プラットフォームの SIGINT の値 (ほとんどのシステムでは 2) で終了することに注意してください。
import sys, signal
try:
# code...
except KeyboardInterrupt: # Suppress tracebacks on SIGINT
sys.exit(128 + signal.SIGINT) # http://tldp.org/LDP/abs/html/exitcodes.html
于 2011-11-13T01:17:38.780 に答える
-5
import sys
try:
print("HELLO")
english = input("Enter your main launguage: ")
print("GOODBYE")
except KeyboardInterrupt:
print("GET LOST")
于 2015-06-30T08:04:37.567 に答える