如何在 Enthought Canopy 环境下中断 Python 上的无限循环?
How to interrupt an infinite loop on Python under the Enthought Canopy enviroment?
我不知道如何通过 Windows 7 OS 上的 Canopy 中断 python 2.7 运行 上的无限循环。 Ctrl+C 不起作用,"Run" 菜单下的 "Interrupt Kernel" 似乎也不起作用。在 linux (ubuntu) 键盘中断 ctrl+c 工作正常但在 Windows.
我能够停止意外无限循环的唯一方法是通过 "Run" 菜单下的 "Restart Kernel" 选项。不幸的是,这意味着我失去了我所有的工作变量,这是不希望的。在 MATLAB 上 Ctrl+C 工作得很好。
我在 Python 但 none 使用 Enthought Canopy 环境时发现了几个类似的键盘中断问题。
非常感谢任何帮助。
一般来说,Ctrl-C 仅在循环中的代码调用 OS 服务时才能打破无限循环。鉴于您对 MATLAB 的评论,我怀疑您的循环仅用于计算。一个简单的解决方法是检查循环内的按键,这也允许您定义自己的中断代码。 Activestate 上有一些很好的代码,它对 Windows 或类 Unix OSes http://code.activestate.com/recipes/134892-getch-like-unbuffered-character-reading-from-stdin/
都这样做
我不知道如何通过 Windows 7 OS 上的 Canopy 中断 python 2.7 运行 上的无限循环。 Ctrl+C 不起作用,"Run" 菜单下的 "Interrupt Kernel" 似乎也不起作用。在 linux (ubuntu) 键盘中断 ctrl+c 工作正常但在 Windows.
我能够停止意外无限循环的唯一方法是通过 "Run" 菜单下的 "Restart Kernel" 选项。不幸的是,这意味着我失去了我所有的工作变量,这是不希望的。在 MATLAB 上 Ctrl+C 工作得很好。
我在 Python 但 none 使用 Enthought Canopy 环境时发现了几个类似的键盘中断问题。
非常感谢任何帮助。
一般来说,Ctrl-C 仅在循环中的代码调用 OS 服务时才能打破无限循环。鉴于您对 MATLAB 的评论,我怀疑您的循环仅用于计算。一个简单的解决方法是检查循环内的按键,这也允许您定义自己的中断代码。 Activestate 上有一些很好的代码,它对 Windows 或类 Unix OSes http://code.activestate.com/recipes/134892-getch-like-unbuffered-character-reading-from-stdin/
都这样做