我想检查在等待输入时按了什么键,就像getch()
一样。
我试着:
from msvcrt import getch
ch = ord(getch())
和
import readchar
ch = readchar.readkey()
ch = readchar.readchar()
然后我打印ch
看看下面是什么
print(ch)
适用于字母,但对于箭头键,它总是返回相同的值,无论键:
对于ord(getch())
,为224
readchar.readkey()
是None
readchar.readchar()
为b'xe0'
我使用的是Microsoft Visual Studio Python 3.8。
有什么办法修复它,做它,同时使它像getch()
一样工作?(等待输入)
当您第一次运行getch()
并单击任何箭头时,它将返回b'xe0'
,但当第二次运行getch()
时,它将返回b'H'
或b'P'
或b'K'
或b'M'
def read_keys():
while True:
key = getch()
if (key == b'x00' or key ==b'xe0'):
key = getch()
print('Arrow key', ord(key))
else:
print("Else", ord(key))
read_keys()