python - 我刚刚尝试用键盘模块打印出按下的键
问题描述
我刚刚尝试使用键盘模块打印出按下的键。它也有效,但有奇怪的键盘事件,我想摆脱它。
import keyboard
recorded = keyboard.record(until='esc')
recorded = str(recorded)
print(recorded)
解决方案
根据源代码,keyboard.record()
返回KeyboardEvent
对象列表。它们的__repr__
函数添加文本,但它通过和KeyboardEvent()
显示键及其状态。因此,您的代码可以通过以下方式仅显示键和事件类型:self.name
self.event_type
import keyboard
recorded = keyboard.record(until='esc')
for key in recorded:
print(f"{key.name} {key.event_type}")
如果您不希望代码输出事件类型,例如p up
and p down
,您可以执行以下操作:
import keyboard
recorded = keyboard.record(until='esc')
for key in recorded:
if key.event_type == 'down': #only output key presses, not key releases
print(key.name)
推荐阅读
- c# - 使用 c# 在 IIS 上查找 SSL 证书的私钥
- 2d - 使用 KinematicBody2D 作为 RigidBody2D
- c# - Imagecropper 插件正在将图像保存在缓存文件夹中。如何保存在图库文件夹中?
- python - 在python中拆分长字符串html数据
- amazon-web-services - 在 AWS 云上逐步部署 Rasa Chatbot
- c# - 在 C# 中对记录进行相等性检查时忽略私有成员变量
- javascript - 带有浮动标签的材料设计选择
- python - Spacy 匹配器 - 如何查找具有匹配自定义属性的令牌
- python - Selenium - 无法提交评论
- python - 向现有 Koalas Dataframe 添加新列会导致 NaN