簡體   English   中英

如何在 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')

但它不會持續按一個鍵 3 秒,而是只按一次。

誰能告訴我一個簡單的腳本,它會一直按CTRL鍵並使用鼠標滾輪縮小嗎?

我假設您希望一遍又一遍地按下鍵而不是按住鍵(我認為您上面的代碼正在這樣做)。

你有兩個我知道的選擇。 到目前為止,最簡單的方法是在睡眠的同時使用浮動,並執行以下操作:

timer = 0

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

這將每 0.1 秒按一次“a”鍵,直到達到 3 秒。

否則,您可以導入“線程”模塊,它可以讓您並行運行代碼,從而同時運行一個循環一個計時器。 對於您正在嘗試做的事情,這可能是一大堆蠕蟲。 下面的代碼盡可能快地按下“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()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM