首页 > 应用开发 > > 「33」Python的序列化与反序列化
职说职语
【1】概念
Python 中,一切皆对象,对象本质上就是一个“存储数据的内存块”。有时候,我们需要将“内存块的数据”保存到硬盘上,或者通过网络传输到其他的计算机上。
对象的序列化和反序列化就是在这样的场景下产生。
对象的序列化机制广泛的应用在分布式、并行系统上。
序列化指的是:将对象转化成“串行化”数据形式,存储到硬盘或通过网络传输到其他地方。
反序列化是指相反的过程,将读取到的“串行化数据”转化成对象。
Python中使用 pickle 模块中的函数,实现序列化和反序列操作。
pickle.dump(obj, file): obj 就是要被序列化的对象,file 指的是存储的文件。
pickle.load(file): 从 file 读取数据,反序列化成对象
【2】序列化
# 将对象序列化到文件中
import pickle
with open(r"data.dat","wb") as f:
s1 = "职说职语"
s2 = 36
s3 = [100,59,78]
pickle.dump(s1,f)
pickle.dump(s2,f)
pickle.dump(s2,f)
序列化执行效果见图:
【3】反序列化
# 将获得的数据反序列化成对象
import pickle
with open(r"data.dat","rb") as f:
s1 = pickle.load(f)
s2 = pickle.load(f)
s3 = pickle.load(f)
print(s1)
print(s2)
print(s3)
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2236/viewspace-3135605/ ,如需转载,请注明出处,否则将追究法律责任。