2

我一直在搜索论坛和网络几个小时,寻找一种为 Autokey 制作重复 python 循环的方法。目标是允许按键的时间间隔,例如每 16 秒按“1”,每 30 秒按“2”,依此类推,我可能需要尽可能多的键(可能少于 8 个)。我还希望能够通过单击任何组合来结束此过程。我一直在测试每 5 秒只循环 1 个键盘输入,我可以轻松完成这项工作。总的来说,我对 python 和编码还很陌生,过去对我有用的东西在这里不适用。我试过了:

import time
import sys
try:
    while True:
        time.sleep(5)
        keyboard.send_key("4")
except KeyboardInterrupt:
    exit(0)
    sys.exit(0)

以及其中的变化,例如切换while循环和try/except。感觉好像我的键盘中断无法正常工作,我使用了 ctrl -c 和 ctrl break,但无济于事。任何帮助表示赞赏。先感谢您。

4

2 回答 2

1

我有类似的要求,通过搜索,我找到了AutoKey 开发人员的评论

这些代码可能是您需要的:

while True:
    retCode = keyboard.wait_for_keypress(
        'c', modifiers=['<ctrl>'], timeOut=5)
    if retCode:
        break
    keyboard.send_key("4")
于 2022-01-16T09:39:58.290 回答
0

KeyboardInterruptCtrl仅在将+C发送到控制终端时才捕获它。这意味着如果您从不同的窗口按Ctrl+ C,它不会被捕获。

要解决此问题,您需要在Ctrl+上注册一个键盘快捷键C,并让它向您的主脚本发送信号。

于 2014-01-12T02:37:54.170 回答