当我做
之类的事情时while True:
print('loop')
并在sublime中执行该代码我无法阻止它。我必须手动终止进程并重新启动sublime。
有没有办法设置某种'max_execution_time'
或任何其他解决方法,让我们能够很好地阻止它?
答案 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
菜单中找到它所绑定的位置:
中断脚本后,您应该看到文本[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 )。