Capture Control-C в Python
Я хочу знать, можно ли поймать Control-C в python следующим образом:
if input != contr-c:
#DO THINGS
else:
#quit
Я прочитал материал с помощью try
и except KeyboardInterrupt
но они не работают для меня.
Ответы
Ответ 1
Подумайте о том, чтобы прочитать эту страницу об обработке исключений.. Это должно помочь.
Как сказал @abarnert, do sys.exit()
после except KeyboardInterrupt:
Что-то вроде
try:
# DO THINGS
except KeyboardInterrupt:
# quit
sys.exit()
Вы также можете использовать встроенную функцию exit()
, но, как отметил @eryksun, sys.exit
более надежен.
Ответ 2
Из ваших комментариев это звучит как ваша единственная проблема, except KeyboardInterrupt:
это то, что вы не знаете, как заставить ее выйти, когда вы получите это прерывание.
Если так, то просто:
import sys
try:
user_input = input()
except KeyboardInterrupt:
sys.exit(0)