[英]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.