Не могу поймать Ctrl + C в input () с Spyder 3.3 - PullRequest
0 голосов
/ 05 июня 2019

Как мне перехватить Ctrl + C в строке и выйти из программы, когда пользователь входит в нее. Я использую Python 3.7.3 на IPython 7.4.0 на spyder 3.3.3 на 64-битной машине Windows с 8 ГБ ОЗУ.

Самое главное, что когда я запускаю эту программу на Windows PowerShell, она работает, это происходит только с Spyder.

Я пытался использовать потоки, KeyboardInterrupt и т. Д., Но ничего не работает. Я также видел много постов по этому поводу, но ни один не является полезным. Дело в том, что каждый раз, когда Python не может захватить Ctrl + C.

while True:
    line = input()
    if ('line contains Ctrl+C')
        break
    print(line)

print("Exiting")

Я ожидаю, что после нажатия Ctrl + C программа выведет «Exiting» и остановит выполнение.

1 Ответ

0 голосов
/ 05 июня 2019

Главное, что происходит, когда вы нажимаете Ctrl + C.Это просто останавливается.При этом, вы можете быть в состоянии, кроме KeyboardInterrupt.Вы пробовали это?

import sys

try:
    #Code Stuff Goes Here
except KeyboardInterrupt:
    print(Exiting...)
    sys.exit()
...