python - 如何在python中按住一个键并立即释放?
问题描述
所以我想按住 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 秒,请告诉我该怎么做
解决方案
我查看了文档,显然命令之间有 0.1 秒的延迟pyautogui
,以便您在失控的情况下手动闯入操作,记录在这里:#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
推荐阅读
- python - 在python中将列表中的条目格式化为8位二进制
- java - MacOS 上带有 JavaFX 的状态菜单
- regex - 使用正则表达式匹配带有破折号的单词
- r - 为什么 ddply 在更改函数顺序时会给出 NA 值?
- c - 在 C 中正确打印二叉树
- codeigniter - Codeigniter,将参数传递给语言文件
- python - 如何使用 execute_script 在新选项卡中提交表单
- cmake - 如何在现代 CMake 中覆盖优化级别标志
- java - Retrofit 2 请求返回空对象引用
- ruby - Facebook通过Graph API上传视频字幕不起作用