gec*_*cko 0 python pickle data-persistence
我认为pickle是一个对象持久性库,它允许我将数据结构写出来并重新加载它.
为什么/何时我会使用文本文件的"传统"方法?
编辑:实际上,这不是一个有用的方式来表达问题.我的意思是什么是泡菜更容易/更方便的情况,什么时候会让我遇到麻烦?什么样的数据或设计模式有助于腌制?
当您想要存储非文本的Python对象时,不容易使用其他库(JSON,msgpack等)进行序列化,并且不想编写自己的序列化和反序列化代码.
一般来说,腌菜应是万不得已的序列化和反序列化方法:它不是快速(msgpack是远远更快,更紧凑),是不安全的(不用不完泡菜作为cookie或其他客户端的存储格式- 无法访问数据!),不可互操作(不存在非Python语言的实现)......但它适用于其他地方通常不支持的对象和数据类型(尽管不是所有 Python对象).