import signal
import sys
import time
def sigint_handler(signal, frame):
print "signal"
sys.exit(0)
signal.signal(signal.SIGINT, sigint_handler)
while 1:
try:
print "text"
time.sleep(2)
except KeyboardInterrupt:
print "keybi"
exit(0)
except:
print "except"
continue
Wenn ich drücke Ctrl-C ich sehe „Signal“ und „außer“, und das Programm wird nicht beendet.SIGINT und Ausnahme in Python Handhabung
Warum nicht das Programm zu beenden, während es reicht offenbar
sys.exit(0)
?Warum erreicht der Programmablauf nicht den Bereich
KeyboardInterrupt
?Was ist die prägnante Art und Weise Ctrl-C Arbeit und behandelt jeden
except:
Fall separat an verschiedenen Orten ohne Verlassen zu machen?
Mögliche Duplikate von [Wie erfasse ich SIGINT in Python?] (Http://stackoverflow.com/questions/1112343/how-do-i-capture-sigint-in-python) – DeepSpace
Duplikat antwortet nicht 1 , was beantwortet wird unter – Foon