假设我保存了一个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
你没有把6个变量保存到pickle文件中。这不是pickles或变量的工作方式。
你构造了一个 6 元素元组,并将该元组写成 pickle 格式的序列化文件。pickle格式不支持只对序列化对象的部分进行反序列化,你必须加载整个元组。
pickle格式是一个构建对象的指令序列,就像按照一半的配方去烤蛋糕不会烤出半个蛋糕一样,你不能加载半个pickle就得到半个你序列化的元组。