常用模块——pickle模块

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)

 序列化存储的文件通常只存储一个对象。

猜你喜欢

转载自www.cnblogs.com/msj513/p/9804366.html