题目
- 编写代码,使用Pickle进行字典类型的序列化与反序列化
概念
- 序列化是将对象转换为可存储或传输的格式的过程,在计算机编程中,对象通常是存储在内存中的,而当需要将对象保存到磁盘上、数据库中或通过网络发送给其他系统时,就需要将其转换为可以持久化存储或传输的形式。这时候,就需要进行序列化操作,将对象转换为字节流、JSON、XML等格式的数据。
- 序列化的目的是为了实现数据的持久化存储或跨网络传输。
- 反序列化则是将序列化后的数据重新恢复为原始的对象形式。这样可以对存储或传输的数据进行还原,使得我们能够读取和操作其中的内容。
思路
- 在Python中,序列化与反序列化可以通过pickle模块来实现。pickle模块提供了一种将对象转换为字节流的方法(序列化),以及将字节流转换回对象的方法(反序列化)。
代码
import pickle
def dict_pickling():
dictInfo = {"name":"Jason","age":20,"score":98} #定义字典
print("Initial dictionary: %s" %dictInfo)
pick_a = pickle.dumps(dictInfo) #对字典进行序列化
print("pickle result: %s" %pick_a) #打印序列化后的结果
unpick_b=pickle.loads(pick_a) #反序列化
print("unpickle result: %s\n" %unpick_b) #打印反序列化后的结果
if __name__ == "__main__":
dict_pickling()