首页 > 解决方案 > 我刚刚尝试用键盘模块打印出按下的键

问题描述

我刚刚尝试使用键盘模块打印出按下的键。它也有效,但有奇怪的键盘事件,我想摆脱它。

import keyboard

recorded = keyboard.record(until='esc')
recorded = str(recorded)
print(recorded)

在此处输入图像描述

标签: python

解决方案


根据源代码keyboard.record()返回KeyboardEvent对象列表。它们的__repr__函数添加文本,但它通过和KeyboardEvent()显示键及其状态。因此,您的代码可以通过以下方式仅显示键和事件类型:self.nameself.event_type

import keyboard

recorded = keyboard.record(until='esc')
for key in recorded:
    print(f"{key.name} {key.event_type}")

如果您不希望代码输出事件类型,例如p upand 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)

推荐阅读