迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

在 Python 中检测键击

作者:迹忆客 最近更新:2023/12/21 浏览次数:

如果你需要访问键盘等输入设备等硬件,Python 中的一些模块可以让你的生活变得更加轻松。使用这样的模块,你可以轻松地执行你想要的任务,而无需处理系统的复杂性。

在本文中,你将学习如何使用 Python 中的模块来检测按键。在 Python 中用于检测按键的模块有很多,其中,最受欢迎和使用最广泛的两个模块是 keyboardpynput


在 Python 中使用 Python 中的 keyboard 模块检测键击

keyboard 模块允许我们完全控制键盘,并带有各种预定义的方法供我们选择。这些方法使我们更容易使用键盘,并检测用户在键盘上的物理按键。

要安装 keyboard 模块,请在命令提示符或终端内执行以下命令。

pip3 install keyboard

首先,你必须将 keyboard 模块导入到程序中。这里,我们使用 Python 中的三个方法来检测按键,分别是 read_key()is_pressed()on_press_key()

import keyboard

while True:
    if keyboard.read_key() == "p":
        print("You pressed p")
        break

while True:
    if keyboard.is_pressed("q"):
        print("You pressed q")
        break

keyboard.on_press_key("r", lambda _: print("You pressed r"))

输出:

You pressed p
You pressed q
You pressed r

read_key() 会读取用户在键盘上按下的键,如果是你想要的那个键,在本例中是 p,它会打印出 You pressed p 的信息。read_key() 函数返回一个字符。

is_pressed() 函数接收一个字符作为输入,如果它与用户按下的键相匹配,它将返回 True,否则返回 False

on_press_key() 需要两个参数作为输入,第一个是字符,第二个是函数。如果用户按下了与 on_press_key() 函数第一个参数指定的键相匹配的键,它只会执行你作为第二个参数传递进来的函数。


在 Python 中使用 Python 中的 pynput 模块检测键击

pynput 模块是用来检测和控制输入设备的,主要是鼠标和键盘。但在本教程中,你将只看到如何使用这个模块来检测键盘上的按键。在使用这个模块之前,你首先要用下面的命令安装它。

pip3 install pynput

要使用这个模块来检测按键,你首先要从 pynput 模块中导入 keyboard

from pynput import keyboard


def on_press(key):
    try:
        print("Alphanumeric key pressed: {0} ".format(key.char))
    except AttributeError:
        print("special key pressed: {0}".format(key))


def on_release(key):
    print("Key released: {0}".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()

输出:

Alphanumeric key pressed: a 
Key released: 'a' 
Alphanumeric key pressed: b
Key released: 'b'
special key pressed: Key.ctrl_l 
Key released: Key.ctrl_l

请注意,上面的输出可能会根据用户按下的按键而有所不同。

为了检测按键,我们定义了两个函数,on_presson_release。当用户按下键盘上的某个按键时,函数 on_press 将被执行,当用户释放该按键时,on_release 函数将被执行。

这两个函数都只是将用户按下和释放的按键打印到控制台窗口中。你可以根据自己的需求改变这两个函数的实现方式。

然后在最后,我们有一个侦听器,它将监听键盘事件,并相应地执行 on_presson_release 函数。

上一篇:Python 中比较两个日期

下一篇:没有了

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Python 中比较两个日期

发布时间:2023/12/22 浏览次数:166 分类:Python

本教程演示了 Python 中如何比较两个日期并检查哪个日期更大。本教程解释了如何在 Python 中比较两个日期。它有多种方法来确定哪个日期更大,所以教程还列出了不同的示例代码来阐述不同的

在 Python 中重新加载或取消导入模块

发布时间:2023/12/22 浏览次数:102 分类:Python

本教程演示了如何在 Python 中重新加载模块。模块允许我们在 Python 文件中存储不同函数和类的定义,然后这些文件可以在其他文件中使用。

在 Python 中暂停程序执行

发布时间:2023/12/22 浏览次数:190 分类:Python

本教程介绍了如何在 Python 中暂停程序。本教程将演示 Python 中暂停程序的各种方法。暂停程序的执行或应用在不同的场景下使用,比如当一个程序需要输入用户时。

从 Python 中的子目录导入模块

发布时间:2023/12/22 浏览次数:100 分类:Python

本教程演示了如何在 Python 中从子目录导入一个文件。本教程将讲解 Python 中从子目录导入模块的各种方法。假设我们在项目目录的子目录下有一个文件,我们想导入这个文件并在代码中使用它

Python 中的 if not 语句

发布时间:2023/12/22 浏览次数:146 分类:Python

本教程演示了在 Python 中使用 if not 语句。Python 中的 if 语句检查一个特定的条件,如果条件为真,则执行一个代码块。

在 Python 中生成随机质数

发布时间:2023/12/22 浏览次数:194 分类:Python

它演示了如何在 Python 中生成随机质数。本教程演示了在 Python 中生成和输出任何随机质数的方法。质数是在编程中使用的非常有用的常量,尤其是在密码学中。

在 Python 中将十六进制转换为十进制

发布时间:2023/12/22 浏览次数:184 分类:Python

本教程演示了如何在 Python 中把十六进制值转换为十进制值。在编程的世界里,我们处理属于不同数字系统的值。十六进制数就是这样一个系统。它被用于存储内存地址、IP 地址等。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便