Eine Suche nach dem Abfangen von Strg-C (SIGINT) in Python ist häufig mit dem Signalmodul möglich, aber es sind TIPPS, die es einfacher machen.
Zusammenfassend ist es in Ordnung, die Ausnahme "KeyboardInterrupt" abzufangen.
Code bei Verwendung von KeyboardInterrupt
:
try:
while True: #Einige schwere Verarbeitung(Für oder während. .. ..)
pass #Hier Strg-Schreiben Sie den Prozess, den Sie mit C stoppen möchten
except KeyboardInterrupt:
# Ctrl-Ich habe C gefangen!
# print('interrupted!')
pass #Wenn Sie eine spezielle Bereinigung benötigen, schreiben Sie hier
#Sys, wenn Sie das Programm an dieser Stelle beenden.Ausfahrt
#Alles was Sie tun müssen, ist normale Verarbeitung zu schreiben, aber Strg-Beachten Sie, dass es sehr schlecht ist, C zu drücken und die Verarbeitung fortzusetzen.
Genau genommen scheint "KeyboardInterrupt" SIGINT für Hintergrundjobs, die von der Shell getrennt sind, nicht zu fangen, aber ich denke, es ist in Ordnung, "KeyboardInterrupt" in normalen Situationen zuerst zu verwenden. (Referenz: https://stackoverflow.com/questions/40775054/capturing-sigint-using-keyboardinterrupt-exception-works-in-terminal-not-in-scr/40785230#40785230)
Recommended Posts