如何在 Python 中读取键盘按键?

如何在 python 中读取键盘按键?

如何在 python 中读取键盘按键

在编写 python 代码时,您可能需要从键盘读取按键。与 c 语言中常用的 kbhit() 和 getch() 函数类似,python 中提供了可以实现此功能的函数。

msvcrt 模块

windows 平台上,您可以使用 msvcrt 模块。此模块提供了以下函数:

  • kbhit():检查是否有按键被按下。如果按下按键,则返回 true;否则返回 false。
  • getch():获取按下的第一个按键,而不显示在屏幕上。

使用示例

以下是使用 msvcrt 模块读取键盘按键的示例代码:

import msvcrt

while True:
    if msvcrt.kbhit():  # Key pressed
        key = ord(msvcrt.getch())  # Get first byte of keyscan code
        if key == 0 or key == 224:  # Is it a function key
            key += ord(msvcrt.getch()) * 256  # Get next byte of key scan code
        print(f"Key pressed: {key}")

在这种代码中,我们使用 if 语句不断检查是否有按键被按下(kbhit() 返回 true),然后使用 getch() 获取按下的按键。对于功能键,我们需要获取两个字节的 keyscan 代码,因此我们在检查到第一个字节(ascii 0 或 224)后再次调用 getch()。

注意:

  • msvcrt 模块仅适用于 windows 平台。
  • 获取字符的 unicode 编码时可能会遇到编码问题,因此最好使用 ord() 函数获取键的键码。
  • 使用与系统默认编码不同的编码可能会出现问题,可以使用 sys.getdefaultencoding() 查看当前编码。

以上就是如何在 Python 中读取键盘按键?的详细内容,更多请关注其它相关文章!