如何通过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
相关产品推荐
相关产品推荐

