天天看點

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

  

多思考也是一種努力,做出正确的分析和選擇,因為我們的時間和精力都有限,是以把時間花在更有價值的地方。