python 如何识别键盘对应的数字

python 如何识别键盘对应的数字

作者:William Gu发布时间:2026-01-14阅读时长:0 分钟阅读次数:5

用户关注问题

Q
如何使用 Python 监听键盘数字键的按下事件?

我想用 Python 编写程序,监听用户按下的数字键(0-9),应该怎么做?

A

利用 Python 库监听数字键按键

可以使用 Python 的 keyboard 库监听键盘事件。通过监听对应数字键的按下事件,可以捕捉数字输入。示例代码如下:

import keyboard

def on_key_event(e):
    if e.name.isdigit():
        print(f'你按下了数字键:{e.name}')

keyboard.on_press(on_key_event)
keyboard.wait()

该代码监听所有按键,判断按下的是否为数字键,打印结果。

Q
Python 如何将键盘输入的字符转换为数字?

当我捕获到键盘输入的字符后,怎么把它转换成对应的数字类型方便后续处理?

A

将键盘输入的字符串转为数字类型

捕获到的键盘输入大多是字符串形式,如果确定输入是数字字符,可以使用 Python 内置的 int() 函数将字符串转换为整型:

key = '5'
num = int(key)
print(num + 10)  # 输出 15

务必确保输入确实为数字字符,否则转换时会报错,可以先用 str.isdigit() 方法判断。

Q
Python 中如何实现键盘数字键的非阻塞监听?

想让程序在后台监听数字键输入,同时运行其他代码,怎样实现非阻塞式监听?

A

使用线程或事件回调实现非阻塞监听数字键

keyboard 库允许注册事件回调函数,这样按键事件会异步触发,不占用主线程。示例如下:

import keyboard
import time

def on_number_key(e):
    if e.name.isdigit():
        print(f'检测到数字键:{e.name}')

keyboard.on_press(on_number_key)

while True:
    print('主程序运行中')
    time.sleep(1)

回调函数会在按键事件发生时调用,不会阻塞主程序的执行,实现非阻塞监听。