Подтвердить что ты не робот

Capture Control-C в Python

Я хочу знать, можно ли поймать Control-C в python следующим образом:

 if input != contr-c:
    #DO THINGS
 else:
    #quit

Я прочитал материал с помощью try и except KeyboardInterrupt но они не работают для меня.

4b9b3361

Ответ 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)