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

1 投票
1 回答
6740 浏览
提问于 2025-04-17 20:08

我想用Python做一个程序或者游戏,让用户快速按下两个键,比如z键或者x键,每次按对了顺序,角色就会向前移动。我查了很多资料,决定使用msvcrt.getch()来接收输入,但每次我尝试的时候,它把输入存储成了字节,我不知道怎么用。我对编程还比较陌生,希望能有人帮我解释一下这个函数。

1 个回答

5

你需要把返回的值解码成一个str对象:

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

这样做会把字节当作ASCII码来理解。例如,根据你的键盘布局和地区设置,你可能需要使用不同的编码方式。不过,msvcrt.getch()这个接口根据文档说明,只处理ASCII字符:

这个模块实现了控制台输入输出的普通和宽字符版本。普通的API只处理ASCII字符,对于国际化的应用来说用处有限。尽量使用宽字符API。

你可能想用msvcrt.getwch()来直接获取Unicode值;这个方法支持的不仅仅是ASCII码。

撰写回答