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

如何通过Pickle实现Python脚本二次及后续快速运行?

用Pickle缓存ast.literal_eval处理结果的方案

完全可以通过Pickle实现这个需求,核心逻辑是优先读取缓存文件:如果缓存存在就直接加载处理好的DataFrame;如果没有缓存,再执行耗时的解析操作,最后把结果存入Pickle文件供后续复用。

具体实现代码

import pickle
import pandas as pd
import ast

# 定义缓存文件的存储路径
cache_file = "processed_embeddings.pkl"

try:
    # 尝试加载已缓存的处理结果
    ndf = pickle.load(open(cache_file, "rb"))
    print("成功加载缓存数据,跳过解析步骤")
except FileNotFoundError:
    # 缓存不存在时,执行原始处理流程
    # 这里替换成你读取原始数据的代码,比如 ndf = pd.read_csv("raw_data.csv")
    ndf['embeddings'] = ndf['embeddings'].apply(ast.literal_eval)
    # 将处理后的DataFrame保存到缓存文件
    pickle.dump(ndf, open(cache_file, "wb"))
    print("首次处理完成,已保存缓存")

关键注意点

  • 若后续修改了原始数据或处理逻辑,必须手动删除缓存文件,否则会加载旧的处理结果。
  • Pickle是Python专属格式,跨版本可能存在兼容性问题,如果需要更好的跨环境适配,可以用feather或parquet格式替代,它们的读写效率同样出色。
  • 确保缓存文件的存储路径具备读写权限,避免保存或加载失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 20:54:55