Python 类型(列表[0])返回pynput.keyboard.\u win32.KeyCode
我的问题是Python 类型(列表[0])返回pynput.keyboard.\u win32.KeyCode,python,listener,event-listener,pynput,Python,Listener,Event Listener,Pynput,我的问题是pynput如何返回数据(我希望你会这么说?) 所以我要做的是让听者记录键盘输入,然后使用添加到列表中的字母在word中生成字符串。尽管如此,这些字母似乎不是字符串。相反,它们返回为pynput.keyboard.\u win32.KeyCode 有没有办法将其转换为python可读的字符串或其他内容? 比如:我输入了f,t,w print(type(list[0]), word) return 'f', ftw 到目前为止,结果是 f[] pressed t['f'] presse
pynput
如何返回数据(我希望你会这么说?)
所以我要做的是让听者记录键盘输入,然后使用添加到列表中的字母在word中生成字符串。尽管如此,这些字母似乎不是字符串。相反,它们返回为pynput.keyboard.\u win32.KeyCode
有没有办法将其转换为python可读的字符串或其他内容?比如:我输入了
f,t,w
print(type(list[0]), word)
return 'f', ftw
到目前为止,结果是
f[] pressed
t['f'] pressed
w['f', 't'] pressed
['f', 't', 'w'] pressed
['f', 't', 'w'] <class 'pynput.keyboard._win32.KeyCode'> # then basically nothing for word
[] pressed
您可以使用
pynput.keyboard.\u win32.KeyCode
的char
属性从按下的键中提取字符。换句话说,在您的按
功能中,您将把key.char
附加到列表中。另外,我会避免使用list
作为变量名
def press(key):
print(_list, 'pressed')
if key is not keyboard.Key.space:
_list.append(key.char) # <-- Note: key.char
elif keyboard.Key.space is key:
pass
elif keyboard.Key.enter is key:
pass
def按(键):
打印(_列表,“按下”)
如果键不是keyboard.key.space:
_list.append(key.char)#噢。这很有效。非常感谢你。我试过很多变通方法。像str()、chr()和其他看起来很复杂的东西。真希望我能以某种方式感谢你。为你辩护,文档中似乎没有提到这个属性。我在其中一个示例的代码中找到了它。很乐意帮忙!
def press(key):
print(_list, 'pressed')
if key is not keyboard.Key.space:
_list.append(key.char) # <-- Note: key.char
elif keyboard.Key.space is key:
pass
elif keyboard.Key.enter is key:
pass