#Your script
import time
def crunch():
time.sleep(0.01)
def processor():
for number in range(100_000_000):
crunch(number)
processor()
将停止脚本绑定到热键:
^{pr2}$
并修改脚本以轮询STOP变量的值,如果为真则中断:
#Your script
import time
def crunch():
time.sleep(0.01)
def processor():
for number in range(100_000_000):
crunch(number)
# Use the GLOBALS directly. If not set, use False as the default.
if store.GLOBALS.get("STOP", False):
# Reset the global variable, otherwise the next script will be aborted immediately.
store.set_global_value("STOP", False)
break
processor()
目前还没有这样的方法。在
Autokey使用一种简单的机制并发运行脚本:每个脚本都在单独的Python线程中执行。它使用this wrapper来运行使用ScriptRunner类的脚本。 有一些方法可以杀死任意运行的Python线程,但是这些方法既不是很好,也不是很简单。您可以在这里找到这个问题的一般情况的答案:»Is there any way to kill a Thread in Python?«
有一种很好的可能性,但它并不简单,需要脚本的支持。您可以使用全局脚本存储»向脚本发送«a停止信号。可以在here找到API文档:
假设,这是一个要中断的脚本:
将停止脚本绑定到热键:
^{pr2}$并修改脚本以轮询STOP变量的值,如果为真则中断:
您应该向每个热的或长时间运行的代码路径添加这种停止检查。 如果脚本中出现死锁,这将不会有帮助。在
相关问题 更多 >
编程相关推荐