我不知道如何中断在 Windows 7 操作系统上通过 Canopy 运行的 python 2.7 上的无限循环。 Ctrl+C 不起作用,“运行”菜单下的“中断内核”似乎也不起作用。在 Linux (ubuntu) 上,键盘中断 ctrl+c 工作得很好,但在 Windows 上不行。
我能够停止意外无限循环的唯一方法是通过“运行”菜单下的“重新启动内核”选项。不幸的是,这意味着我失去了所有的工作变量,这是不可取的。在 MATLAB 上,Ctrl+C 工作得很好。
我在 Python 上发现了几个类似的键盘中断问题,但没有使用 Enthought Canopy 环境。
非常感谢任何帮助。
最佳答案
一般来说,如果循环中的代码调用操作系统服务,则 Ctrl-C 只能用于打破无限循环。鉴于您对 MATLAB 的评论,我怀疑您的循环仅用于计算。解决此问题的一个简单方法是检查循环内是否有按键,这也允许您定义自己的中断代码。 Activestate 上有一些很好的代码,可以为 Windows 或类 Unix 操作系统执行此操作 http://code.activestate.com/recipes/134892-getch-like-unbuffered-character-reading-from-stdin/
关于python - 如何在Enthought Canopy环境下中断Python的无限循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28003313/