from pynput import keyboard
def on_press(key):
print(f’{key} :pushed’)
def on_release(key):
if key == keyboard.Key.esc:
return False
with keyboard.Listener(on_press=on_press, on_release=on_release) as lsn:
lsn.join()
随意敲击键盘,你就会从控制台看到这样的输出:
代码内容就是两个方法,一个是监听按键事件,另一个是监听退出事件——敲击 ESC
按键后释放就退出了。
监控鼠标
如果还要监听鼠标事件,那么上这段代码就行了:
from pynput import mouse
def on_click(x, y, button, pressed):
if button == mouse.Button.left:
print(‘left was pressed!’)
elif button == mouse.Button.right:
print(‘right was pressed!’)
return False
else:
print(‘mid was pressed!’)
# 定义鼠标监听线程
with mouse.Listener(on_click=on_click) as listener:
listener.join()
这段代码主要是监听鼠标的左右键点击操作,运行之后操作鼠标,就可以看到控制台打印如下结果:
细心的你一定会发现,每次点击事件,都打印了两次。这是因为按下和松开都会触发鼠标事件。
记录监控日志
键盘事件和鼠标事件都有了,是时候将二者结合起来,把用户的操作记录到日志了。这里我们用 loguru 来记录日志,这个 python 模块我们之前的文章也讲过。
整个代码如下:
from pynput import keyboard, mouse
from loguru import logger
from threading import Thread
# 定义日志文件
logger.add(‘moyu.log’)
def on_press(key):
logger.debug(f’{key} :pushed’)
def on_release(key):
if key == keyboard.Key.esc:
return False
# 定义键盘监听线程
def press_thread():
with keyboard.Listener(on_press=on_press, on_release=on_release) as lsn:
lsn.join()
def on_click(x, y, button, pressed):
if button == mouse.Button.left:
logger.debug(‘left was pressed!’)
elif button == mouse.Button.right:
(1)Python所有方向的学习路线(新版)
这是我花了几天的时间去把Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
最近我才对这些路线做了一下新的更新,知识体系更全面了。
(2)Python学习视频
包含了Python入门、爬虫、数据分析和web开发的学习视频,总共100多个,虽然没有那么全面,但是对于入门来说是没问题的,学完这些之后,你可以按照我上面的学习路线去网上找其他的知识资源进行进阶。
(3)100多个练手项目
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了,只是里面的项目比较多,水平也是参差不齐,大家可以挑自己能做的项目去练练。
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Python爬虫全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:python)
资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:python)
[外链图片转存中…(img-DI3P6Kiw-1710941655567)]