如何解决pynput.keyboard 按下键时终止程序没有响应
我在这里有这个代码,我想要的是代码每 5 秒输入一次“potato”。我还想要一个“退出”命令,我想要它,当我按下 =
时它会停止程序。但是,该代码不仅不起作用,而且在键入/输入“potato”后还会键入“=”。有人可以帮忙吗?谢谢。
from pynput.keyboard import Key,Controller
import time
keyboard = Controller()
time.sleep(3)
while True:
keyboard.type('potato')
keyboard.press(Key.enter)
keyboard.release(Key.enter)
if keyboard.type('asdf'):
quit()
time.sleep(5)
附言没有错误或任何东西
解决方法
这里最明显的答案是将 if
语句中的“asdf”更改为“=”,但如果这不能解决问题,您可以添加一个侦听器来检测按键。>
from pynput import keyboard,Key,Controller
import time
# set your termination key here
cut_key = "="
# check if key pressed is cut_key,if so,quit
def on_press(key):
try:
if key.char == cut_key:
quit()
except AttributeError:
if key == cut_key:
quit()
# non-blocking listener
listener = keyboard.Listener(
on_press=on_press)
listener.start()
keyboard = Controller()
time.sleep(3)
while True:
keyboard.type('potato')
keyboard.press(Key.enter)
keyboard.release(Key.enter)
time.sleep(5)
我没有测试这段代码,如果它不起作用请评论。 https://pynput.readthedocs.io/en/latest/keyboard.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。