Python 从msvcrt.getch()输入未按预期工作
我想使用msvcrt.getch函数,如下例所示:Python 从msvcrt.getch()输入未按预期工作,python,user-input,msvcrt,Python,User Input,Msvcrt,我想使用msvcrt.getch函数,如下例所示: print 'Press s or n to continue:\n' input_char = msvcrt.getch() if input_char.upper() == 'S': print 'YES' 但当我这样使用它时: n = msvcrt.getch() print(n) 输出是 b'\xff' 而且它不要求用户输入 这是对msvcrt.getch()方法的期望吗? 如果没有,我如何修复它 谢谢 在这里找到了答案:
print 'Press s or n to continue:\n'
input_char = msvcrt.getch()
if input_char.upper() == 'S':
print 'YES'
但当我这样使用它时:
n = msvcrt.getch()
print(n)
输出是
b'\xff'
而且它不要求用户输入
这是对msvcrt.getch()方法的期望吗?
如果没有,我如何修复它
谢谢 在这里找到了答案:
msvcrt返回一个字节字符串,需要使用以下代码进行解码:
input_char = bytes.decode(msvcrt.getch(), encoding="utf-8")
或者您可以更改代码以进行比较:b[input_char]我也有同样的问题!