如何在 python 中持续按某个键一定时间?

How to keep pressing certain key for certain amount of time in python?

我正在尝试使用 python 自动执行 android 游戏,但我最终遇到的情况是我必须一直按住 CTRL 键并使用鼠标滚轮来缩小。

我安装了 Pynput 并尝试了这个命令

keyboard.press('a')
time.sleep(3)
keyboard.release('a')

但它并没有持续按a键3秒,而是只按了一次。

任何人都可以告诉我一个简单的脚本,它会一直按住 CTRL 键并使用鼠标滚轮来缩小吗?

我假设您希望一遍又一遍地按下按键而不是被按住(我认为您上面的代码就是这样做的)。

我知道你有两个选择。到目前为止,最简单的方法是在休眠的同时使用浮动,并执行如下操作:

timer = 0

while timer < 3:
    time.sleep(0.1)
    timer += 0.1
    keyboard.press('a')

这将每 0.1 秒按一次 'a' 键,直到达到 3 秒。

否则,您可以导入'threading'模块,它可以让您运行并行编码,因此运行一个循环同时一个定时器。对于您要尝试做的事情,这可能是一大堆蠕虫病毒。下面的代码尽可能快地按下 'a' 键,直到三秒计时器结束,它不会退出线程或任何东西,这就是为什么这可能是一个糟糕的方法:

global_timer = 0

def keep_pressing_a():
    while global_timer <= 3:
        keyboard.press('a')

def count_to_three():
    global global_timer
    keep_counting = True
    while keep_counting:
        time.sleep(1)
        global_timer += 1
        if global_timer >= 3:
            keep_counting  = False

threading.Thread(target=count_to_three).start()
threading.Thread(target=something).start()