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()

  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章