我需要在python中创建一个程序/游戏,用户可以快速输入两个键,例如z或x键,这样每次按正确的顺序按下它们时,它们就会向前移动。我已经做了很多研究并决定我应该使用msvcrt.getch()来接收输入,但每当我尝试它时,它将输入存储为一个我无法使用的字节,我对编程相对较新并且可以使用一些帮助来解释这个功能。
答案 0 :(得分:3)
您需要解码将返回的值转换为str
对象:
msvcrt.getch().decode('ASCII')
例如,会将字节解释为ASCII码点。您可能需要使用不同的编码,具体取决于键盘布局和区域设置,但msvcrt.getch()
API仅根据文档处理ASCII字符:
该模块实现了控制台I / O api的普通字符和宽字符变体。普通的API仅处理ASCII字符,对国际化应用程序的用途有限。应尽可能使用宽字符API。
您可能希望使用msvcrt.getwch()
来直接获取Unicode值;该方法不仅支持ASCII码点。