为什么这个 Python 键盘中断不起作用? (在 PyCharm 中)

新手上路,请多包涵

在 PyCharm 中调试我的代码时,当按下 Ctrl + C 时,我的 Python try/except 循环似乎没有触发键盘中断。 (在运行程序时使用 Ctrl + C 会出现同样的问题,但在 PyCharm Python 控制台中不会出现。)

我的代码如下所示:

 try:
    while loop:
        print("busy")

except KeyboardInterrupt:
    exit()

可以在 此处 查看完整代码。上面的代码产生相同的错误。

原文由 Edwin Shepherd 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.3k
2 个回答

从您的屏幕截图看来,您正在 IDE 中运行此代码。关于 IDE 的事情是它们与正常运行不太一样,尤其是在处理键盘字符时。您按 ctrl-c 的方式,您的 IDE 认为您想要复制文本。 python 程序永远不会看到该字符。也许它在运行时会弹出一个单独的窗口?然后你会在 ctrl-c 之前选择那个窗口。

原文由 tdelaney 发布,翻译遵循 CC BY-SA 3.0 许可协议

我知道这是一个老问题,但我遇到了同样的问题并认为有一个更简单的解决方案:

在 PyCharm 中转到“运行”/“编辑配置”并选中“在输出控制台中模拟终端”。 PyCharm 现在接受键盘中断(确保控制台处于焦点状态)。

测试于:PyCharm 2019.1(社区版)

原文由 RawkFist 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题