在 Python 中,序列化(Pickling)和反序列化(Unpickling)是将对象转换为字节流以便存储或传输,以及将字节流还原为对象的过程。Python 提供了一个标准模块 来专门处理这项工作。 以下是详细的指南: --- 1. 核心概念 序列化 (Pickling): 将 Python 对象层次结构转换为字节流(byte stream)。 用途: 将对象保存到文件、存入数据库、或通过网络传输。 对应函数: 或 。 反序列化 (Unpickling): 将字节流转换回 Python 对象层次结构。 用途: 读取保存的数据,恢复对象的状态。 对应函数: 或 。 --- 2. 基本用法 首先需要导入模块: A. 字符串/字节流操作 ( 和 ) 当你不需要写入文件,只想把对象变成字节对象(bytes)时使用。 B. 文件操作 ( 和 ) 直接将对象写入文件或从文件读取。注意:必须使用二进制模式 ( 和 )。 --- 3. 可以被 Pickle 的类型 并不是所有 Python 对象都能被序列化。支持的类型包括: , , 整数、浮点数、复数 字符串、字节 (bytes)、字节数组...