加载所有腌制对象 [英] Load all pickled objects
本文介绍了加载所有腌制对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
import pickle
ListNames = [["Name1","City1","Email1"],["Name2","City2","Number2"]]
ListNumbers = [1,2,3,4,5,6,7,8]
with open ("TestPickle.pickle","wb") as fileSaver:
pickle.dump(ListNames,fileSaver)
pickle.dump(ListNumbers,fileSaver)
with open ("TestPickle.pickle","rb") as fileOpener:
print(pickle.load(fileOpener))
输出为:
[['Name1', 'City1', 'Email1'], ['Name2', 'City2', 'Number2']]
我怎么也要泡菜来加载ListNumbers
How do I get pickle to load the ListNumbers too
我知道我可以再次打印pickle.load,但是如果我在pickle文件中有数量不明的项目,并且具有许多数据类型(例如:列表,元组,字典,字符串...),该怎么办
I know I can just print pickle.load again but what if I have an unknown number of items in my pickle file with a number of Datatypes (e.g: lists, tuples, dictionaries, strings....)
谢谢
推荐答案
我不确定这是否是正确的方法.
I am not sure if this i the correct approach.
import pickle
ListNames = [["Name1","City1","Email1"],["Name2","City2","Number2"]]
ListNumbers = [1,2,3,4,5,6,7,8]
with open ("TestPickle.pickle","wb") as fileSaver:
pickle.dump(ListNames,fileSaver)
pickle.dump(ListNumbers,fileSaver)
obj = []
with open("TestPickle.pickle","rb") as fileOpener:
while True:
try:
obj.append(pickle.load(fileOpener))
except EOFError:
break
print obj
输出:
[[['Name1', 'City1', 'Email1'], ['Name2', 'City2', 'Number2']], [1, 2, 3, 4, 5, 6, 7, 8]]
这篇关于加载所有腌制对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文