【问题标题】:Python3 Event On Specific Key Down特定按键上的 Python3 事件
【发布时间】:2019-08-07 05:07:36
【问题描述】:

我想知道是否有一种方法可以检测在 python 3 中按下键的时间,如下所示:

if keypressed('a'):
    print('you pressed a')

(为简单起见的示例)

【问题讨论】:

    标签: python python-3.x input terminal keyboard


    【解决方案1】:

    keyboard 模块可以给你比你想要的更多。
    下面介绍几种检测按键的方法:

    方法#1:
    它会不断检测您的按键。当您按a 时,它将打印。按Ctrl+C跳出循环

    import keyboard
    while True:
        if keyboard.is_pressed("a"):
            print("You pressed 'a'")
    

    方法#2:
    它将等待您按a 并阻止整个代码,直到您按a。它只会检测一次。

    import keyboard
    keyboard.wait('a')
    print("You pressed 'a'")
    

    【讨论】:

      【解决方案2】:

      似乎pynput library 可以帮助您。项目文档中的一个示例:

      from pynput import keyboard
      
      def on_press(key):
          try:
              print('alphanumeric key {0} pressed'.format(
                  key.char))
          except AttributeError:
              print('special key {0} pressed'.format(
                  key))
      
      def on_release(key):
          print('{0} released'.format(
              key))
          if key == keyboard.Key.esc:
              # Stop listener
              return False
      
      # Collect events until released
      with keyboard.Listener(
              on_press=on_press,
              on_release=on_release) as listener:
          listener.join()
      
      # ...or, in a non-blocking fashion:
      listener = mouse.Listener(
          on_press=on_press,
          on_release=on_release)
      listener.start()
      

      【讨论】:

        【解决方案3】:

        您可以使用pip3 install keyboard 安装keyboard 模块并简单地编写

        if keyboard.is_pressed('a'):
           print('you pressed a')
        

        【讨论】:

        • 如何导入模块?
        • @AlexHawking import keyboardfrom keyboard import is_pressed 如果您只需要 is_pressed 函数
        • @AlexHawking 你能告诉我什么类型的错误吗?
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-23
        • 2013-04-27
        • 1970-01-01
        • 2015-04-05
        相关资源
        最近更新 更多