繁体   English   中英

Python 键盘侦听器

[英]Python keyboard listener

我已经使用了这段代码,它运行良好。 然而,它有一些奇怪的地方,就像它不是 Python!

print_event 中的 e 变量以我以前从未见过的方式使用。 这是一个常规函数,它打印传递给它的任何内容,但问题在于它是如何使用的,甚至是应该作为参数传递给参数 e 的事件变量

如果您不注意,似乎 append 函数将添加的值返回给 print_event,而不是附加它们,就像 append 在 Python 中所做的那样。整个函数被附加到处理程序列表一次,然后它一直运行直到程序终止,就像一个 while True 循环。

该代码基本上启动了一个键盘侦听器并不断记录按键按下的键,但是键发生了什么是问题。 低级侦听器中的 for 循环没有意义,如果应该记录键而不是读取它们,为什么要遍历处理程序。 此外,为什么要通过事件? 处理程序是一个列表,而不是一个函数,我只知道用于初始化变量的赋值运算符

此外,如果处理程序初始化为空,如果它们的内存空间未分配且不存在,它如何为项目分配值并通过它们分配值?

我没有看到任何缓冲函数被调用,它是如何工作的? Python 不应该是那样的

我想要做的是实时访问处理程序列表并处理事件

一个解释将不胜感激。 提前致谢

你问的是函数变量吗?

如果是,您可以像传递任何其他变量一样传递函数,然后用不同的名称调用它们。

例如:

def hi(string):
    print(string)

fns = [hi, hi]

for fn in fns:
    fn('hello')

如果这仍然令人费解,也许您可​​以使用调试器逐步完成,以使这个想法看起来更具体。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM