pickle--序列化python對象

1.將對象轉儲到文件中python

>>> import pickle
>>> class a:
...     def __init__(self):
...             pass
...     def toString(self):
...             print('i am a')
... 
>>> a1=a()
>>> with open('k','wb') as f:
...     pickle.dump(a1,f)
...

2.將對象轉儲爲字符串可用pickle.dumpsspa

>>> p=pickle.dumps(a1)

3.若是從文件或者字符串中獲取該對象可以使用pickle.load和pickle.loads方法code

>>> #從文件中恢復對象
>>> r=open('k','rb')
>>> a2=pickle.load(r)
>>> r.close()
>>> #從字符串中恢復對象
>>> s=pickle.dumps(a1)
>>> s
b'\x80\x03c__main__\na\nq\x00)\x81q\x01.'
>>> a3=pickle.loads(s)
>>> a3
<__main__.a object at 0x7fe23f3c13c8>

對於大部分程序來說,掌握load和dump方法便可高效利用pickle模塊了。pickle模塊能夠兼容大部分Python數據類型和用戶自定義的類實例。對象

相關文章
相關標籤/搜索