用于在Powershell中退出Python的Ctrl-C现在不起作用

问题描述:

在Powershell/Command Prompt中使用Ctrl-C时,Python无法退出,而是发出“KeyboardInterrupt”字符串。用于在Powershell中退出Python的Ctrl-C现在不起作用

最近我重新安装了Windows 10.在重新安装Ctrl-C之前,退出python(3.5/2.7)很好,没有输出。

有谁知道为什么会发生这种情况?不管它只是一个简单的设置?

我能想到的唯一区别是我现在在python 3.6上。 Ctrl-D在Windows上的Ubuntu的Bash中工作,并且Ctrl-C在激活的anaconda python2环境中正常工作以退出python。

这是最近出现在Windows 10内幕建设15002

一个解决办法是改变从按Ctrl C中的映射按键的东西如Ctrl K A错误

如果你不familar如何做到这一点,你可以看一下或stty -a

您可以运行在每个bash命令该命令将映射您终止与按Ctrl + K

stty intr \^k 

作为一个TEMP的解决方案,你可以因此它在每个新会话

此bug已在Github#已报告1569

+0

谢谢戴夫。我会研究这个。 – oblong

当您按下Control C时,会引发KeyboardInterrupt异常。如果不停止的代码,做的最好的事情是增加一个try语句转换成你的代码捕获KeyboardInterrupt

try: 
    .... 

except KeyboardInterrupt: 
    exit() 

的代码只是把我的头很抱歉,如果事情是错的顶部。

编辑:Ctrl Break或在某些键盘上Ctrl Pause显然立即停止python代码。

+0

感谢您的回答执行您的.bashrc包括这一点。但这不是代码停止。这只是关于放弃蟒蛇。当我按Ctrl-C时,python正常退出,没有任何输出。为什么现在这改变只给出KeyboardInterrupt的输出?我不擅长这件事,所以对任何愚蠢的事情都表示歉意。 – oblong