Python——pickle模块

pickle 模块

序列化的模块 单机程序


序列化是什么?

序列化就是将内存中的数据结构转化成为一种中间格式,并储存到硬盘上。我们把变量从内存中变成可存储或传输的过程称之为序列化,在Python中叫pickling。

为什么要序列化?

就是为了将数据持久储存,还为了实现跨平台数据交互。

反序列化是什么?

把变量内容从序列化的对象重新读到内存里称之为反序列化,即unpickling。


case

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import pickle

dic = {'name':'ooc','age':23,'gender':'male'}
print(type(dic)) # <class 'dict'>

a = pickle.dumps(dic) # dumps 直接序列化到文件
print(type(a)) # <class 'bytes'>

f = open('user_info.pkl','wb') # 因为a是'bytes' ,wb是写入bytes
f.write(a) # f.write(pickle.dumps(dic))序列化
f.close()

f = open('user_info.pkl','rb')
info = pickle.loads(f.read()) # 从文件中反序列化

print(info['age'])

# 23