
你有没有过这样的想法?
想做个用户行为分析,记录一下大家都在键盘上敲了什么。
或者开发个小工具,帮用户保存输入的内容。
说实话,键盘输入记录在某些场景下还挺有用的。
但怎么做呢?
今天给你分享3个Python方法,从简单到专业,总有一个适合你。
往期阅读>>>
Python 自动化管理Jenkins的15个实用脚本,提升效率
App2Docker:如何无需编写Dockerfile也可以创建容器镜像
Python 自动化识别Nginx配置并导出为excel文件,提升Nginx管理效率
这是最专业的方法。
pynput是专门用来监控和控制输入设备的库,支持跨平台运行。
它可以准确捕获各种按键操作,包括那些特殊功能键。
简单理解:就像给键盘装了个"监控摄像头",每个按键都逃不过它的眼睛。
怎么用呢?
核心代码大概长这样:
from pynput.keyboard import Key, Listenerclass KeyboardRecorder: def __init__(self, filename='keylog.txt'): self.filename = filename self.keys_buffer = [] def on_press(self, key): # 按键按下时触发 key_str = self.key_to_string(key) self.keys_buffer.append(key_str) # 每10个字符保存一次 if len(self.keys_buffer) >= 10: self.save_to_file()它的特点是什么?
功能最全面,适合专业应用场景。
比如你要做一个用户行为分析工具,用它就对了。
这个方法最简单。
keyboard库提供了更简洁的API,适合快速实现基本功能。
它支持实时事件捕获和全局钩子。
打个比方:如果说pynput是专业摄像机,keyboard就像是手机相机——简单、快速、够用。
核心代码:
import keyboardimport datetimedef callback(event): timestamp = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') if event.event_type == 'down': key_name = event.name # 处理特殊按键 if len(key_name) > 1: key_name = f'[{key_name.upper()}]' log_entry = f"{timestamp} - {key_name}\n" # 实时写入文件适合什么场景?
快速原型开发,或者简单的记录需求。
如果你只是想试试水,从这个开始没错。
这个方法用户体验最好。
它创建一个可视化界面,用户可以看到记录状态,还能自己控制开始和停止。
就像装了个仪表盘:不仅能记录,还能让你看到记录的过程,一目了然。
界面长这样:
• 有状态显示,告诉你记录有没有开始
• 有文本框,可以直接输入测试
• 有控制按钮,想开始就点开始,想停止就点停止
核心代码:
import tkinter as tkclass GUIKeylogger: def __init__(self): self.window = tk.Tk() self.window.title("GUI键盘记录器") self.window.geometry("400x300") self.setup_ui() def start_recording(self): # 开始记录 self.is_recording = True messagebox.showinfo("提示", "键盘记录已开始")什么时候用它?
当你需要给其他用户用的时候。
毕竟,有个界面大家用起来更方便嘛。
给你一个简单的选择指南:
• pynput方法 → 功能最全面,适合专业应用
• keyboard方法 → 最简单易用,适合快速原型
• GUI方法 → 提供可视化界面,用户体验更好
选哪个,看你的需求。
如果是自己用快速试一试,keyboard够了。
如果要做产品,用pynput或者GUI方法。
技术本身没有好坏,关键看怎么用。
这三种方法各有特点,没有绝对的最好,只有最适合。
编程的魅力就在于此:同一件事,可以用不同的方式实现,每种方式都有它的用武之地。
💬 你平时会用到键盘记录吗?你是怎么做的?评论区聊聊~
如果这篇文章对你有帮助,点个在看让更多人看到吧👇
想高效学习Python?下面三本精选好书满足你的不同需求!
《流畅的Python(第2版)》——Python进阶必读!深入讲解高级特性与最佳实践,适合想精进的开发者。
《Python从新手到高手》:初学者首选,79元系统学习全栈技能。
《Python数据分析:从零基础入门到案例实战》——数据科学利器!手把手教你用Python处理数据,实战案例学完就能用。
三本书均支持先用后付、运费险和7天无理由退货,放心购买!点击“购买”按钮,立即开启你的Python学习之旅吧!
https://ima.qq.com/wiki/?shareId=f2628818f0874da17b71ffa0e5e8408114e7dbad46f1745bbd1cc1365277631c
