小编典典

如何使用 pickle 保存字典(或任何其他 Python 对象)?

all

我已经查看了Python
文档
提供的信息,但我仍然有点困惑。有人可以发布示例代码来编写一个新文件,然后使用
pickle 将字典转储到其中吗?


阅读 152

收藏
2022-03-09

共1个答案

小编典典

尝试这个:

import pickle

a = {'hello': 'world'}

with open('filename.pickle', 'wb') as handle:
    pickle.dump(a, handle, protocol=pickle.HIGHEST_PROTOCOL)

with open('filename.pickle', 'rb') as handle:
    b = pickle.load(handle)

print(a == b)

上述解决方案没有任何特定于dict对象的内容。这种相同的方法将适用于许多 Python
对象,包括任意类的实例和任意复杂的数据结构嵌套。例如,用这些行替换第二行:

import datetime
today = datetime.datetime.now()
a = [{'hello': 'world'}, 1, 2.3333, 4, True, "x", 
     ("y", [[["z"], "y"], "x"]), {'today', today}]

也会产生一个结果True

有些物体由于其性质而不能腌制。例如,腌制包含打开文件句柄的结构是没有意义的。

2022-03-09