问题描述
我已经看了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处理是没有意义的。