我试图找出分配给变量的对象的类型。
例如,如果我使用pynput
print type(key)
会给我一个
<enum 'key'>
如果我按alt,ctrl或Return键;而如果我按字母或数字,我会得到
pynput.keyboard.darwin.KeyCode
我该如何检查?我试图与==
进行比较,但这没用
istypeof = type(key)
if istypeof =='key':
print("is a key")
elif istypeof == "pynput.keyboard.darwin.KeyCode":
print("is a letter/number")
编辑------------------------
如果您不习惯使用Pynput,我在这里添加了我所拥有函数的完整代码。
from pynput import keyboard
class recorder:
def on_press(self, key):
print(key)
istypeof = type(key)
if istypeof =='key':
print("is a key")
elif istypeof == "pynput.keyboard.darwin.KeyCode":
print("is a letter/number")
def on_release(self, key):
print(key)
if __name__ == "__main__":
testme = recorder()
with key_listener(on_press=testme.on_press, on_release=testme.on_release) as listener:
listener.join()
换句话说;我正在寻找“如何比较类型,因此,如果类型是int,字符串,枚举或任何其他可能在变量中的对象,这应该可以工作。一旦我了解了如何比较类型;我可以将相同的概念应用于其他类型。谢谢!