如何加载pickle文件中的一些变量的python?

问题描述 投票:0回答:1

假设我保存了一个pickle文件,里面有多个变量。

import pickle

with open("file.pickle", "wb") as f:
    pickle.dump((a,b,c,d,e,f), f)

这个文件可以用以下方法加载

with open("file.pickle", "rb") as f:
    a,b,c,d,e,f= pickle.load(f) 

除了把这四个变量保存在一个单独的文件中 还有没有其他办法只读取前四个变量?

with open("file.pickle", "rb") as f:
    a,b,c,d=  ?? #load the first four variables only
python pickle
1个回答
3
投票

你没有把6个变量保存到pickle文件中。这不是pickles或变量的工作方式。

你构造了一个 6 元素元组,并将该元组写成 pickle 格式的序列化文件。pickle格式不支持只对序列化对象的部分进行反序列化,你必须加载整个元组。

pickle格式是一个构建对象的指令序列,就像按照一半的配方去烤蛋糕不会烤出半个蛋糕一样,你不能加载半个pickle就得到半个你序列化的元组。

© www.soinside.com 2019 - 2024. All rights reserved.