pickle提供了一个简单的持久化功能,可以将对象以文件的形式存放到磁盘
pickle模块只能在python上使用,python中所有的数据类型【list,str,num,tuple,dict,set,对象】
pickle序列化的数据,只是给计算机识别,区别于乱码
序列化:将对象写到磁盘
反序列化:将对象从磁盘读取出来
import pickle
class Person:
def __init__(self,name,age):
self.name = name
self.age = age
def show(self):
print('name:%s,age:%d'%(self.name,self.age))
p = Person('张三',10)
p.show()
序列化 将对象存储到本地磁盘
'''
pickle.dump(obj,file,protocol = None)
obj:将要封装的对象
file:obj将要写入的文件对象,注意:file必须以二进制的方式打开文件,‘wb’
protocol:可选参数,表示告知pickle的协议,支持协议有0,1,2,3,默认协议为3
f = open('file1.txt','wb')
pickle.dump(p,f)
f.close()
反序列化:将存储在磁盘上的对象读取出来
'''
pickle.load(file)
file:要读取的文件对象,注意,file必须以二进制的方式打开文件,'rb'
f1 = open('file1.txt','rb')
result = pickle.load(f1)
print(result)
print(p)
result.show()