import pickle name = 'msj' age = 25 height= 184 user = {'name':name,'age':age,'height':height}#内存中数据
pickle模块
pickle模块是一个用来序列化的模块。
什么是序列化?
指的是将内存中的数据结构转为一种中间格式,并存储在硬盘上。
什么是反序列化?
将硬盘上存储的中间格式文件还原成内存中的数据结构。
为什么要序列化?
就是为了将数据永久存储,之前学过文件也能完成永久存储,但是操作起来十分复杂。
pickle模块是Python专用的序列化模块,所以并不能与其他语言的软件交互。
pickle模块的主要功能
dump dumps序列化
import pickle name = 'msj' age = 25 height= 184 user = {'name':name,'age':age,'height':height}#内存中的数据
dumps序列化
with open(r'userdb.pkl','wb') as f: res = pickle.dumps(user)#序列化内存中的信息 f.write(res)#写入文件
dump序列化(将文件写入功能集成了)
with open(r'userdb.pkl','wb') as f: pickle.dump(user,f)
loads反序列化
with open(r'userdb.pkl','rb') as f: fread = f.read()#读取文件内容 res =pickle.loads(fread)#反序列化 print(res)
load序列化(将文件读取操作集成了)
with open(r'userdb.pkl','rb') as f: res =pickle.load(f) print(res)
序列化存储的文件通常只存储一个对象。