我需要在 python 中创建一个程序/游戏,用户可以在其中快速输入 2 个键,例如 z 或 x 键,这使得他们的角色每次按正确的顺序向前移动。我做了很多研究并决定我应该使用 msvcrt.getch() 来接收输入,但是每当我尝试它时,它都会将输入存储为我无法使用的字节,我对编程比较陌生并且可以使用一些帮助来解释该功能。
问问题
5595 次
1 回答
5
您需要将返回的值解码为str
对象:
msvcrt.getch().decode('ASCII')
例如,会将字节解释为 ASCII 代码点。您可能需要根据键盘布局和语言环境使用不同的编码,但msvcrt.getch()
根据文档,API 仅专门处理 ASCII 字符:
该模块实现了控制台 I/O api 的普通和宽字符变体。普通 API 仅处理 ASCII 字符,对国际化应用程序的用途有限。应尽可能使用宽字符 API。
您可能想改用msvcrt.getwch()
直接获取 Unicode 值;该方法不仅支持 ASCII 代码点。
于 2013-03-24T14:22:32.277 回答