gpt4 book ai didi

python - Linux - 使用键绑定(bind)终止 AutoKey 脚本

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:34:35 26 4
gpt4 key购买 nike

好吧,我是 elementaryOS 设备上的 AutoKey 应用程序的新手,我只是在玩一些自定义脚本。

我确实发现奇怪的是没有简单选项来终止正在运行的脚本。

那么,有没有不错简单的方法来实现这个。

请原谅我的无能。 ._.

最佳答案

目前没有这样的方法。

Autokey 使用一种简单的机制来同时运行脚本:每个脚本都在一个单独的 Python 线程中执行。它使用 this wrapper使用 ScriptRunner 运行脚本类(class)。有一些方法可以杀死任意运行的 Python 线程,但这些方法既不也不简单。您可以在此处找到此问题的一般情况的答案:» Is there any way to kill a Thread in Python? «

有一个不错的可能性,但它不是真的简单并且需要您的脚本的支持。您可以使用全局脚本存储向脚本»发送« 停止 信号。可以找到 API 文档 here :

假设,这是您要中断的脚本:

#Your script
import time
def crunch():
time.sleep(0.01)
def processor():
for number in range(100_000_000):
crunch(number)
processor()

将这样的停止脚本绑定(bind)到热键:

store.set_global_value("STOP", True)

然后修改您的脚本以轮询 STOP 变量的值并在它为 True 时中断:

#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()

您应该为每个热或长时间运行的代码路径添加这样的停止检查。如果您的脚本中出现死锁,这将无济于事。

关于python - Linux - 使用键绑定(bind)终止 AutoKey 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51513269/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com