python - 如何在Enthought Canopy环境下中断Python的无限循环?

标签 python infinite-loop enthought canopy keyboardinterrupt

我不知道如何中断在 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/

相关文章:

prolog - 不间断的循环循环

python - 当尝试确定我是否使用 User for Enthought Canapy 时,sys.prefix 生成 "Segmentation fault: 11"

python - 如何在类的初始属性中制作空列表?

python:如何绘制二维不连续的以节点为中心的数据?

python - 将列表中的值分开以形成坐标对

python - Pandas 从字符串列中删除非字母数字字符

java - Try-catch 创建无限循环

c - 具有导致无限循环的函数的链表

python - 安装包到 Canopy

python - 为什么 Enthought Canopy 推出没有样式 css 的 iPython Notebook html 文本?