停止Sublime Text执行无限循环

时间:2015-02-08 18:08:36

标签: python sublimetext3

当我做

之类的事情时
while True:
    print('loop')

并在sublime中执行该代码我无法阻止它。我必须手动终止进程并重新启动sublime。

有没有办法设置某种'max_execution_time'或任何其他解决方法,让我们能够很好地阻止它?

7 个答案:

答案 0 :(得分:27)

您想使用 Ctrl + Break 。有关您自己的信息,请在 Sublime Text 中的工具下查看,然后您将看到取消构建和上述热键。它可以很好地用于无限循环。我只想说,我也有同样的事情! ;)


对于Windows用户,没有 Break 键,因此请进入首选项>键绑定并更改行

{ "keys": ["ctrl+break"], "command": "cancel_build" }

指向其他快捷方式,例如 Ctrl + Alt + B

答案 1 :(得分:2)

对我来说(在Linux上),键盘上没有break键,这个快捷键以某种方式绑定到另一个组合: ctrl + alt + C

您可以在Tools菜单中找到它所绑定的位置:

enter image description here

中断脚本后,您应该看到文本[Cancelled]已打印到sublimetext控制台。

答案 2 :(得分:1)

你有几个选择。 你可以设置一个巨大的最大迭代次数(我实际上用大多数while循环来做这个,直到我完全调试我的代码,以避免无限循环的痛苦): 例如,

max_iterations = 100000000
while i < max_iterations:
   print("Hello World")

另一种方法是使用时间模块来计算代码的执行时间,如此

import time
max_execution_time = 10000000 #this will be in seconds
start_time = time.clock()
elapsed_time = 0   
while elapsed_time < max_execution_time:
    elapsed_time = time.clock() = start_time
    #Your loop code here

答案 3 :(得分:1)

对于MacOS:

cmd + option + esc

强行退出

答案 4 :(得分:0)

组合为ctrl+break

在Windows中没有中断按钮,因此您可以转到Preferences > Key Bindings并在用户端添加以下内容:

{ "keys" : ["ctrl+c"], "command": "cancel_build"}

现在,按Ctrl + C,将停止执行。当然,您可以将组合更改为所需的任何内容。

答案 5 :(得分:0)

只需在 MacOS 上键入 CTRL + C 键。

答案 6 :(得分:0)

如果您正在使用Sublime Text 3,请遵循此步骤,进入“偏好设置”>“程序包设置”>“对齐方式”>“键绑定用户”

[
    { "keys": ["ctrl+n"], "command": "cancel_build" }
]

现在,通过按 ctrl + n ,执行将立即停止。当然,您可以将组合更改为所需的组合(代替 ctrl + n )。