迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > 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 函数。

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

本文地址:

相关文章

Pandas read_csv()函数

发布时间:2024/04/24 浏览次数:254 分类:Python

Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。

Pandas 追加数据到 CSV 中

发布时间:2024/04/24 浏览次数:352 分类:Python

本教程演示了如何在追加模式下使用 to_csv()向现有的 CSV 文件添加数据。

Pandas 多列合并

发布时间:2024/04/24 浏览次数:628 分类:Python

本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。

Pandas loc vs iloc

发布时间:2024/04/24 浏览次数:837 分类:Python

本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。

扫一扫阅读全部技术教程

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

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便