Python如何使用keyboard键盘模块?本文带你了解如何在 Python 中使用键盘模块来完全控制你的键盘,例如挂钩全局事件、注册热键、模拟按键按下和释放等等。
如何用Python控制你的键盘?在本教程中,你将学习如何使用键盘模块在 Python 中控制你的计算机键盘,这当然对许多任务很有用,例如使我们能够自动执行各种常规桌面任务、构建强化学习代理等等。
相关:
如何在 Python 中发送电子邮件。
【keyboard键盘模块(如何用Python控制你的键盘())】Python控制键盘示例解析 - 我们将使用keyboard模块,让我们安装它:
pip3 install keyboard
好的,打开一个 Python 交互式 shell 或一个 Jupyter 笔记本/实验室,然后继续。
首先,让我们导入模块:
import keyboard
添加热键和缩写Python如何控制键盘?该模块为我们提供了一种功能
add_abbreviation()
,使我们能够注册一个热键,将一个输入的文本替换为另一个。例如,让我们将文本替换"@email"
为电子邮件地址"test@example.com"
:# replaces every "@email" followed by a space with an actual email
keyboard.add_abbreviation("@email", "test@example.com")
Python如何使用keyboard键盘模块?现在执行这行代码,然后打开任何文本编辑器并在“@email”后面加上一个空格,你会看到神奇的!
其次,你还可以在每次按下热键时调用回调:
keyboard.add_hotkey("ctrl+alt+p", lambda: print("CTRL+ALT+P Pressed!"))
"ctrl+alt+p"
指的是一次按下按钮CTRL、ALT和P字符,所以每当这些按钮被一次按下时,回调将被调用,在这种情况下,它只会打印一条简单的消息,但你可以做任何你想做的事情,比如桌面快捷方式。检查按钮是否被按下你还可以检查按钮是否被实际按下:
# check if a ctrl is pressed
print(keyboard.is_pressed('ctrl'))
按下和释放按钮如何用Python控制你的键盘?接下来,你还可以使用以下
send()
功能模拟按键操作:# press space
keyboard.send("space")
Python控制键盘示例:这将按下并释放空格键。事实上,有一个等效的函数
press_and_release()
可以做同样的事情。你还可以传递多键:
# multi-key, windows+d as example shows the desktop in Windows machines
keyboard.send("windows+d")
该
+
操作装置上我们按在同一时间两个按钮,你还可以使用多步热键:# send ALT+F4 in the same time, and then send space,
# (be carful, this will close any current open window)
keyboard.send("alt+F4, space")
但是,如果你想按下某个特定键但又不想松开它,该怎么办?那么,
press()
和release()
功能开始发挥作用:# press CTRL button
keyboard.press("ctrl")
# release the CTRL button
keyboard.release("ctrl")
所以这将按下CTRL按钮然后释放它,你可以在这之间做任何事情,比如睡几秒钟等。
但是现在如果你想编写长文本而不仅仅是特定按钮怎么办?
send()
会效率低下。对我们来说幸运的是,该write()
函数正是这样做的,它将人工键盘事件发送到操作系统,模拟给定文本的输入,让我们试试看:keyboard.write("Python Programming is always fun!", delay=0.1)
将延迟设置为0.1表示在按键之间等待0.1秒,这看起来像黑客电影中的花哨!
录制和播放键盘事件如何用Python控制你的键盘?你可以用这个模块做更多很酷的事情,比如使用
record()
函数记录键盘事件并使用函数再次播放它们play()
:# record all keyboard clicks until esc is clicked
events = keyboard.record('esc')
# play these events
keyboard.play(events)
Python如何使用keyboard键盘模块?我传递
'esc'
给record()
方法来记录按键的按下和释放,直到我按下'esc'
按钮,然后我们再次使用play()
方法播放这些事件。Python控制键盘示例- 你可以通过简单地打印它来探索事件列表包含哪些内容,或者你??可以使用它
get_typed_strings()
来获取键入的字符串:# print all typed strings in the events
print(list(keyboard.get_typed_strings(events)))
这是我输入的内容:
[
'Python is indeed the best programming language.!', 'right?', '', '']
另一个有趣的函数是
on_release()
函数,它接受一个回调,每当一个键被释放时就会执行这个回调:# log all pressed keys
keyboard.on_release(lambda e: print(e.name))
如何用Python控制你的键盘?这将打印你在键盘上按下的任何内容,有关如何使用此功能构建用于教育目的的键盘记录器的更多信息,请查看本教程。
最后,如果要删除所有使用中的键盘钩子,包括热键、缩写等:
keyboard.unhook_all()
结论Python如何控制键盘?我刚刚向你介绍了该模块,请查看文档或在 Python 交互式 shell 中键入help(keyboard)以了解其他功能和方法。
你还可以完全控制你的鼠标,该模块的同一作者又制作了另一个用于处理鼠标的模块!
使用这些模块,你可以构建桌面自动化脚本、键盘快捷键、键盘记录器(尽管作者不负责)等等!
推荐阅读
- 如何在Python中控制鼠标(详细代码实现教程)
- 如何在Python中制作进程监视器(详细实现教程)
- u盘打开盘如何自制,教您如何自制u盘打开盘
- u盘删除数据恢复,教您如何恢复u盘删除数据
- 杏雨梨云u盘系统如何装系统,教您杏雨梨云u盘系统如何装系统
- u盘写保护无法格式化怎样办,教您处理u盘写保护无法格式化
- 英特尔主板bios怎样设置U盘打开,教您如何设置英特尔主板biosU盘打开
- 苹果笔记本usb接口不能用怎样办,教您处理苹果笔记本usb接口不能用
- u盘杀毒专家,教您怎样在电脑上给U盘杀毒