我有一个文件,其中我已经转储了大量的lists.Now我想将此文件加载到内存中并使用其中的数据。我试图使用“pickle”的“load”方法加载我的文件,但是,出于某种原因,它只是给了我文件中的第一项。实际上我注意到它只将我的第一个列表加载到内存中,如果我想加载我的整个文件(多个列表),那么我必须迭代我的文件并在每个文件中使用“pickle.load(filename)”迭代我采取。 问题是我不知道如何用循环(for或while)实际实现它,因为我不知道何时到达文件的末尾。 一个例子对我帮助很大。 感谢
答案 0 :(得分:9)
这个怎么样:
lists = []
infile = open('yourfilename.pickle', 'r')
while 1:
try:
lists.append(pickle.load(infile))
except (EOFError, UnpicklingError):
break
infile.close()