目录
4. pickle.dumps()、pickle.loads()
1. pickle函数模块基础
官方说明:
模块 pickle 实现了对一个 Python 对象结构的二进制序列化和反序列化。 "pickling" 是将 Python 对象及其所拥有的层次结构转化为一个字节流的过程,而 "unpickling" 是相反的操作,会将(来自一个 binary file 或者 bytes-like object 的)字节流转化回一个对象层次结构。 pickling(和 unpickling)也被称为“序列化”, “编组” 1 或者 “平面化”。而为了避免混乱,此处采用术语 “封存 (pickling)” 和 “解封 (unpickling)”。
常用的文件操作方法,是针对字符串的,如要对数值进行存储读取,可以使用 int()、float() 对象;但列表、字典、类等更为复杂的数据类型的处理则会非常复杂。此时,如要对其他Python对象进行存储和读取,应用 pickle 模块执行是一个好的选择。
需要注意的是 pickle 所使用的数据格式仅可用于 Python,这意味着非 Python 程序可能无法重新读取 pickle 封存的 Python 对象。此时根据具体需要可以考虑使用 json、