我正在尝试在 python 中触发按键功能。我正在使用pynput 库的listen 函数,它返回一个Keycode 对象。我尝试将对象转换为字符串,但以下代码仍返回以下输出(按下“a”键时):
def on_press(key):
mod = str(key)
print(mod)
print(type(mod))
print(mod=='a')
我得到:
'a'
< class 'str'>
False
接下来使用:
def on_press(key):
print(key.char=='a')
上面将打印True
.
您的代码无法正常工作,只是因为:
mod = str(key)
print(mod)
会得到'a'
,但对于普通字符串,print('a')
只会打印a
,它们不是同一个字符串。你可以用print(len(mod))
&来确认print(len('a'))
顺便说一句,接下来是您测试的完整代码:
from pynput.keyboard import Key, Listener
import sys
def on_press(key):
mod = str(key)
print(mod)
print(type(mod))
print(mod=='a')
print(key.char=='a')
print(len(mod))
print(len('a'))
sys.exit(0)
def on_release(key):
pass
with Listener(on_press=on_press, on_release=on_release) as listener:
listener.join()