Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从msvcrt.getch()输入未按预期工作_Python_User Input_Msvcrt - Fatal编程技术网

Python 从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()方法的期望吗? 如果没有,我如何修复它 谢谢 在这里找到了答案:

我想使用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]

我也有同样的问题!