【问题标题】:How do I unpickle a series of objects from a file in Python?如何从 Python 中的文件中提取一系列对象?
【发布时间】:2016-04-08 16:38:19
【问题描述】:

我以附加模式将对象腌制到文件中,但它只读取单个对象。这是代码。我不知道我做错了什么。

with open('notes.pkl', 'ab') as fileObject:                #append
    pickle.dump(obj, fileObject, pickle.HIGHEST_PROTOCOL)

with open('notes.pkl', 'rb') as input:                     #read
    obj= pickle.load(input)
    //perform tasks for each obj unpickled from the file

【问题讨论】:

  • 哇,我今天一定是产生了幻觉,因为我第一次打开这个时没有看到你的代码。您是否尝试将泡菜文件写为wb 而不是追加?还有,你在腌什么?
  • 您需要反复调用“pickle.load”,直到到达文件末尾。
  • 我正在挑选一个包含三个数据成员的简单类。如果我使用 wb 它会覆盖之前的对象,我需要维护一系列对象
  • 感谢@muratgu!像魅力一样工作。

标签: python pickle


【解决方案1】:

您需要反复调用pickle.load,直到遇到文件结尾。

【讨论】:

    猜你喜欢
    • 2016-01-30
    • 1970-01-01
    • 2020-05-15
    • 1970-01-01
    • 2016-04-21
    • 1970-01-01
    • 2015-03-10
    • 1970-01-01
    • 2014-06-17
    相关资源
    最近更新 更多