如何按住某个键并立即释放python?

时间:2020-08-22 21:15:32

标签: python python-3.x pyautogui

所以我想按住c键,让它说0.2秒,然后不等待一点点按空格就释放它,而没有延迟(0.0秒),然后使用pyautogui.keyDown(“”) 和keyUp(“”)会有所帮助,但它会稍有延迟,就像我这样做时一样

pyautogui.keyDown("c")
pyautogui.keyUp("C")

它的作用是按住键“ c”大约几秒钟,但我没有给它任何延迟,我只是想让它按住c 0.0秒,我的主要目的是

import pyautogui
import time
time.sleep(0.5)

pyautogui.keyDown("c")
time.sleep(0.2) # so it would put 0.2 second delay in it i didnt know it had a delay in itself
pyautogui.keyUp("c")
time.sleep(0.5)
pyautogui.keyDown("space")
pyautogui.keyUp("space")
time.sleep(0.5)
pyautogui.keyDown("c")
time.sleep(0.2)
pyautogui.keyUp("c")
time.sleep(0.5)
pyautogui.keyDown("space")
pyautogui.keyUp("space")

time.sleep是我想要的延迟,但是它没有time.sleep本身就有一个延迟,所以对于我尝试执行pyautogui.typewrite的事情来说,时间太长了,但是它使大多数次,也许有x秒的事情发生了,请告诉我该怎么做

1 个答案:

答案 0 :(得分:0)

我看了看文档,显然pyautogui命令之间有0.1秒的延迟,以便您在遇到失控的情况下手动进入操作,在此处记录:#fail-safe。他们警告您,但您也许可以这样做:

import pyautogui
import time

KEY_C = "c"
KEY_SPACE = "space"

time.sleep(0.5)

pyautogui.FAILSAFE = False # danger zone
pyautogui.keyDown(KEY_C)
time.sleep(0.2)
pyautogui.keyUp(KEY_C)
pyautogui.keyDown(KEY_SPACE)
pyautogui.keyUp(KEY_SPACE)
pyautogui.FAILSAFE = True # out of danger

# do it again

time.sleep(0.5)
pyautogui.FAILSAFE = False
pyautogui.keyDown(KEY_C)
time.sleep(0.2)
pyautogui.keyUp(KEY_C)
pyautogui.keyDown(KEY_SPACE)
pyautogui.keyUp(KEY_SPACE)
pyautogui.FAILSAFE = True

相关问题