You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何保存mouse库录制的鼠标事件数据到文件供后续快速加载使用

实现鼠标录制结果存储的最优方案

优先选择Python原生pickle二进制序列化方案,完全匹配你需要加载速度快的需求,比JSON、CSV等文本格式的加载速度高3~10倍,且无需手动解析mouse库的自定义事件对象,不会丢失任何属性。

  • 读写速度极快:直接对Python对象进行二进制编解码,不需要额外的格式转换逻辑
  • 兼容性强:原生支持mouse库的MoveEvent、ClickEvent等所有自定义事件类型,完美保留所有字段
  • 存储体积小:二进制存储比文本格式占用空间减少40%以上

保存录制结果代码

import mouse
import pickle

# 你的录制逻辑,示例为录制到按下右键停止,可根据自己的需求调整录制规则
events = mouse.record(button=mouse.RIGHT)

# 序列化写入文件
with open("mouse_record.pkl", "wb") as f:
    pickle.dump(events, f)

加载并回放代码

import mouse
import pickle

# 从文件加载录制数据
with open("mouse_record.pkl", "rb") as f:
    events = pickle.load(f)

# 回放录制的操作
mouse.play(events)

备选方案(仅当需要跨语言读取时使用)

如果需要兼容其他语言读取,可以选择JSON格式存储,缺点是加载速度慢,需要手动转换对象格式:

import json
import mouse

# 将事件对象转换为可JSON序列化的字典
event_list = []
for event in events:
    event_info = event.__dict__
    event_info["event_type"] = type(event).__name__
    event_list.append(event_info)

# 写入JSON文件
with open("mouse_record.json", "w", encoding="utf-8") as f:
    json.dump(event_list, f)

内容的提问来源于stack exchange,提问作者James

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 20:24:04