python 序列化和反序列化 ( Serialization & deserialization )

序列化 Serialization

序列化是指将一个 对象转换为字节序列 的过程,方便 存储传输. 序列化的目的是为了将对象从内存中变成可存储或传输的格式,方便后续的读取和使用. 序列化的过程一般分为两步:

  1. 将对象转换为字节序列 : 将 对象转换为字节序列 的过程称为 序列化. 序列化的过程一般通过将对象转换为字节序列来实现. 常见的序列化方式有 JSONXMLPickle...

  2. 存储或传输字节序列:序列化后的字节序列可以存储在 文件数据库网络...之中,也可以通过 网络传输 到另一台计算机上.

python 中将对此有专门的模块 JSON 来实现序列化.

1
2
3
4
5
import json
# 序列化
data = {'name': 'Alice', 'age': 25, 'city': 'Beijing'}
json_str = json.dumps(data)
print(json_str)

序列化之后的结果为:

1
{"name": "Alice", "age": 25, "city": "Beijing"}

反序列化 Deserialization

反序列化是指将 字节序列 转换 为一个 对象 的过程,方便后续的使用. 反序列化的目的是将字节序列恢复为原来的对象,方便后续的操作. 反序列化的过程一般分为两步:

  1. 从字节序列恢复对象 : 将 字节序列恢复为对象 称为 反序列化. 反序列化的过程一般通过将字节序列转换为对象来实现. 常见的反序列化方式有 JSONXMLPickle...

  2. 使用对象 : 反序列化后的对象可以用于后续的操作,如 计算打印保存...

python 中将对此有专门的模块 JSON 来实现反序列化.

1
2
3
4
5
import json
# 反序列化
json_str = '{"name": "Alice", "age": 25, "city": "Beijing"}'
data = json.loads(json_str)
print(data)

反序列化之后的结果为:

1
{'name': 'Alice', 'age': 25, 'city': 'Beijing'}

以上就是 python 序列化和反序列化的基本原理和方法.