如何使用PICLE保存DICT(或任何其他Python对象)?

人气:252 发布:2022-10-16 标签: python dictionary pickle

问题描述

我已经看了Python docs提供的信息,但我仍然有点困惑。是否有人可以发布编写新文件的示例代码,然后使用PICLE将词典转储到其中?

推荐答案

试试:

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的结果。

某些对象由于其本身的性质而不能进行酸洗。例如,对包含打开文件句柄的结构进行PICLE处理是没有意义的。

625