如何使用msvcrt.getch提取和使用输入?
我想用Python做一个程序或者游戏,让用户快速按下两个键,比如z键或者x键,每次按对了顺序,角色就会向前移动。我查了很多资料,决定使用msvcrt.getch()来接收输入,但每次我尝试的时候,它把输入存储成了字节,我不知道怎么用。我对编程还比较陌生,希望能有人帮我解释一下这个函数。
1 个回答
5
你需要把返回的值解码成一个str
对象:
msvcrt.getch().decode('ASCII')
这样做会把字节当作ASCII码来理解。例如,根据你的键盘布局和地区设置,你可能需要使用不同的编码方式。不过,msvcrt.getch()
这个接口根据文档说明,只处理ASCII字符:
这个模块实现了控制台输入输出的普通和宽字符版本。普通的API只处理ASCII字符,对于国际化的应用来说用处有限。尽量使用宽字符API。
你可能想用msvcrt.getwch()
来直接获取Unicode值;这个方法支持的不仅仅是ASCII码。