小编典典

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

python

我需要在python中创建一个程序/游戏,用户可以快速输入2个键(例如z或x键),每次按正确的顺序按下该键时,它们的角色就会向前移动。我已经做了大量研究,并决定我应该使用msvcrt.getch()接收输入,但是每当我尝试使用它时,它都会将输入存储为无法使用的字节,这对于编程我来说是一个新手,可以使用一些帮助解释该功能。


阅读 710

收藏
2021-01-20

共1个答案

小编典典

您需要将返回的值 解码 为一个str对象:

msvcrt.getch().decode('ASCII')

例如,会将字节解释为ASCII码点。您可能需要使用不同的编码,具体取决于键盘的布局和语言环境,但是msvcrt.getch()根据文档,该API仅专门处理ASCII字符:

该模块同时实现了控制台I / O API的普通和宽字符变体。普通API仅处理ASCII字符,并且在国际化应用程序中用途有限。应尽可能使用Wide
char API。

您可能想msvcrt.getwch()代替直接获取Unicode值。该方法不仅支持ASCII码点,而且还支持。

2021-01-20