19:使用pickle实现序列化和反序列化_神经元记忆移植
###使用 pickle 序列化
Python 中,一切皆对象,对象本质上就是一个“存储数据的内存块”。有时候,我们需要将“内存块的数据”保存到硬盘上,或者通过网络传输到其他的计算机上。这时候,就需要“对象的序列化和反序列化”。 对象的序列化机制广泛的应用在分布式、并行系统上。
序列化指的是:将对象转化成“串行化”数据形式,存储到硬盘或通过网络传输到其他地方。反序列化是指相反的过程,将读取到的“串行化数据”转化成对象。
我们可以使用 pickle 模块中的函数,实现序列化和反序列操作。
序列化我们使用:
pickle.dump(obj, file) obj 就是要被序列化的对象,file 指的是存储的文件
pickle.load(file) 从 file 读取数据,反序列化成对象
import pickle
a1 = "yuanzijian"
a2 = 1234
a3 = [10, 20, 30, 40]
with open("data.dat", "wb") as f:
pickle.dump(a1, f)
pickle.dump(a2, f)
pickle.dump(a3, f)
with open("data.dat", "rb") as f:
b1 = pickle.load(f)
b2 = pickle.load(f)
b3 = pickle.load(f)
print(a1)
print(a2)
print(a3)
输出结果:
"D:\Program Files\Python310\python.exe" D:\work\python\five\file10.py
yuanzijian
1234
[10, 20, 30, 40]
进程已结束,退出代码0