如何将pickle数据附加到python中的文件?

时间:2016-01-02 19:46:42

标签: python pickle

string

当一个文件打开时,pickle转储并关闭。再次打开相同的文件到pickle.dump中。它不会附加到文件但会覆盖它。有什么建议吗?

2 个答案:

答案 0 :(得分:0)

我一直在寻找相同的问题,使用Python3.7之前提供的答案对我不起作用

我的解决方案是在“ ab”模式下打开文件,使用pickle将对象转换为二进制文件(pickle.dumps()而不是pickle.dump()),然后将其写入文件。

with open('picke.txt', 'ab') as fi:
    bin_obj = pickle.dumps(obj)
    fi.write(bin_obj)

希望这会有所帮助。

答案 1 :(得分:-1)

您正在使用以下行创建一个新的“picke.txt”:

with open("picke.txt", "wb") as fi:
    pickle.dump(a, f, pickle.HIGHEST_PROTOCOL)

您需要在ab模式下打开以附加,而不是wb模式来编写新文件,如下所示:

with open("picke.txt", "ab") as fi:
    pickle.dump(a, f, pickle.HIGHEST_PROTOCOL)