python pickle模块,打包创建的对象,做持久化

pickle提供了一个简单的持久化功能。可以将对象以文件的形式存放在磁盘上。

pickle.dump(obj, file[, protocol])


序列化对象,并将结果数据流写入到文件对象中。参数protocol是序列化模式,默认值为0,表示以文本的形式序列化。protocol的值还可以是1或2,表示以二进制的形式序列化。


pickle.load(file)
反序列化对象。将文件中的数据解析为一个Python对象。

其中要注意的是,在load(file)的时候,要让python能够找到类的定义,否则会报错:

比如下面的例子

import pickle
class Person:
    def __init__(self,n,a):
        self.name=n
        self.age=a
    def show(self):
        print self.name+"_"+str(self.age)
aa = Person("JGood", 2)
aa.show()
f=open('d:\p.txt','w')
pickle.dump(aa,f,0)
f.close()
#del Person
f=open('d:\p.txt','r')
bb=pickle.load(f)
f.close()
bb.show()

  

原文地址:https://www.cnblogs.com/LiuXinyu12378/p/13672737.html