【发布时间】:2017-07-10 02:10:46
【问题描述】:
就我而言,我希望将两个单独的列表腌制(使用pickle.dump())到一个文件中,然后从一个单独的文件中检索它们,但是当使用pickle.load() 时,我一直在努力寻找一个列表的结束位置和下一个列表的开始位置因为我根本不知道如何pickle.dump() 以使它们易于检索,即使在查看文档之后也是如此。
【问题讨论】:
-
您是否尝试过将它们写为封闭列表中的子列表,例如
my_list = [[list_1], [list_2]])或类似的或以某种方式将它们合并到单个数据结构中以腌制? -
如果你用
pickle.dump(l1,f); pickle.dump(l2,f)在同一个文件中一个接一个地腌制两个列表,那么你可以用l1=pickle.load(f); l2=pickle.load(f)从同一个文件中以相同的顺序取消它们。 Pickle 会找到一个结束和另一个开始的地方。 -
我试试看,谢谢。如果这不起作用我会使用子列表,这是我没有想到的。
-
为什么不从列表中提取一个元组?
pickle.dump((l1, l2), fh)和l1, l2 = pickle.load(fh)? -
谢谢我让它工作了!我会尝试使用您的其他一些建议来使其尽可能高效。