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数据类型和用户自定义的类实例。对象

相关文章
相关标签/搜索