微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

pynput.keyboard 按下键时终止程序没有响应

如何解决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 举报,一经查实,本站将立刻删除。