使用Spyder 3.3无法在input()中捕获Ctrl + C

时间:2019-06-05 11:39:29

标签: python python-3.x windows ipython spyder

如何在线捕获Ctrl + C并在用户输入程序时退出程序。我在具有8 GB RAM的Windows 64位计算机上的spyder 3.3.3的IPython 7.4.0上使用Python 3.7.3。

最重要的是,当我在Windows Powershell上运行此程序时,它只能在spyder中发生。

我尝试使用线程,KeyboardInterrupt等,但是没有任何效果。我也看到了很多与此相关的帖子,但是没有用。问题是每次python都无法捕获Ctrl +C。

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

print("Exiting")

我希望在按Ctrl + C之后,程序将打印“正在退出”并停止执行。

1 个答案:

答案 0 :(得分:0)

最主要的是按Ctrl + C会发生什么。它只是停止。话虽如此,您也许可以排除KeyboardInterrupt。你尝试过吗?

import sys

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