在python中使用pickle和for循环从文件中读取

时间:2010-10-06 10:05:11

标签: python pickle

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

1 个答案:

答案 0 :(得分:9)

这个怎么样:

lists = []
infile = open('yourfilename.pickle', 'r')
while 1:
    try:
        lists.append(pickle.load(infile))
    except (EOFError, UnpicklingError):
        break
infile.close()