请注意,我在Python中完全是绿色的,并且我不知道回调在这种语言下是如何工作的。
我已经尝试了一段时间来解决我的问题,但是我不知道该怎么办。
我在Python中使用回调有问题。我用the Python keyboard
module听机器上按下的键。
当我尝试使用keyboard.hook()
方法时,它要求我进行回调。我知道回调的工作方式,但是只要Python不是我的主要语言,我就真的不知道该怎么做。
在JavaScript中,就像在函数中命名参数然后打印该参数一样容易。那样简单。
import keyboard
keyboard.hook()
## How to print keys?
在官方文档中,hook()
方法调用了一个回调。如何访问此回调,最重要的是打印从其中记录的密钥?我只需要一个简单的示例,便可以永远记住它。
任何帮助都很感激。
答案 0 :(得分:1)
您似乎希望从文档中找到类似的东西。
def keyHook(info):
print(info)
keyboard.hook(keyHook)
答案 1 :(得分:1)
您可以像传递变量一样传递函数,方法是将其名称传递给for column in excelFile:
if 'tom' in column.lower():
print(column)
方法。
然后,根据keyboard.hook()
上的文档,它使用带有三个字段的hook()
调用回调:
keyboard.KeyboardEvent
:字符(例如“&”)或描述(例如“ space”)的Unicode表示形式。名称总是小写。name
:代表物理密钥的数字,例如55。scan_code
:事件发生时间的时间戳,精确度与OS相同。
因此,将其放在一起,您可以像这样使用它:
time
每按一次键,您将打印键盘事件的详细信息。
请注意,如果您的程序可以继续运行,则不需要import keyboard
def my_keyboard_hook(keyboard_event):
print("Name:", keyboard_event.name)
print("Scan code:", keyboard_event.scan_code)
print("Time:", keyboard_event.time)
keyboard.hook(my_keyboard_hook)
# Block forever, so that the program won't automatically finish,
# preventing you from typing and seeing the printed output
keyboard.wait()
调用-我只是想确保您没有运行示例代码,看到它立即终止,然后认为出了问题