Python PyAutoGui-按键X秒

Python PyAutoGui-按键X秒,python,input,controls,key,pyautogui,Python,Input,Controls,Key,Pyautogui,我目前正在编写一个脚本,它可以按“w,a,s,d”键在任何游戏中移动角色。 要使其工作,我需要在特定时间内按下“w”键。我怎样才能做到这一点 我想到了这样的事情: pyautogui.keyDown('w') time.sleep(2) pyautogui.keyUp('w') 但这只是暂停整个程序,没有按下任何键,因此这对我没有任何用处。如pyautogui.keyDown()中的文档字符串所述: 在不释放的情况下执行键盘按键。这将使 键处于按下状态 注意:由于某些原因,这似乎不会导致键重复

我目前正在编写一个脚本,它可以按“w,a,s,d”键在任何游戏中移动角色。 要使其工作,我需要在特定时间内按下“w”键。我怎样才能做到这一点

我想到了这样的事情:

pyautogui.keyDown('w')
time.sleep(2)
pyautogui.keyUp('w')

但这只是暂停整个程序,没有按下任何键,因此这对我没有任何用处。

pyautogui.keyDown()中的文档字符串所述:

在不释放的情况下执行键盘按键。这将使 键处于按下状态

注意:由于某些原因,这似乎不会导致键重复 如果在文本字段上按住键盘键,则会发生此情况


您需要一种不同的方法-您可以使用

或者,如果您想继续使用
pyautogui
,您可以尝试以下方法:

def hold_W (hold_time):
    import time, pyautogui
    start = time.time()
    while time.time() - start < hold_time:
        pyautogui.press('w')
def hold_W(保持时间):
导入时间,pyautogui
开始=时间。时间()
while time.time()-开始<保持时间:
pyautogui.press('w')