如何使用msvcrt.getch提取并使用输入?

问题描述 投票:0回答:1

我需要在 python 中创建一个程序(游戏),用户可以快速输入 2 个键,例如 zx,这使得他们的角色每次按正确的顺序按下时都会向前移动。我做了很多研究,并决定我应该使用

msvcrt.getch()
来接收输入,但每当我尝试它时,它都会将输入存储为我无法使用的字节。我对编程比较陌生,需要一些帮助来解释这个功能。

python python-3.x msvcrt
1个回答
5
投票

您需要将返回值解码

str
对象:

msvcrt.getch().decode('ASCII')
例如,

会将字节解释为 ASCII 代码点。您可能需要根据键盘布局和区域设置使用不同的编码,但根据文档,

msvcrt.getch()
API 仅处理 ASCII 字符:

该模块实现了控制台 I/O api 的普通字符和宽字符变体。普通 API 仅处理 ASCII 字符,对于国际化应用程序的用途有限。应尽可能使用宽字符 API。

您可能想使用

msvcrt.getwch()
来直接获取 Unicode 值;该方法不仅支持 ASCII 代码点。

© www.soinside.com 2019 - 2024. All rights reserved.