Python常用模块之pickle——对象序列化

Posted songshudadi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python常用模块之pickle——对象序列化相关的知识,希望对你有一定的参考价值。

作用

对Python对象进行序列化,便于存储和传输

Python对象序列化成bytes类型

pickle.dumps(obj) 将Python对象转化为bytes类型
pickle.loads(str) 将转化成的bytes类型数据还原成对象

Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> import pickle
>>> mydict = {'id':123, 'name':'abc'}
>>> pickle_str = pickle.dumps(mydict)
>>> pickle_str
b'x80x03}qx00(Xx02x00x00x00idqx01K{Xx04x00x00x00nameqx02Xx03x00x00x00abcqx03u.'
>>> newdict = pickle.loads(pickle_str)
>>> newdict
{'id': 123, 'name': 'abc'}

Python对象序列化写入文件

pickle.dump(obj, file)
可以存储多个对象,读取时按存储顺序读取

>>> import pickle
>>> mydict = {'id':123, 'name':'abc'}
>>> file = open('pickle.txt','wb')
>>> pickle.dump(mydict, file)
>>> file.close()

从文件反序列化读取Python对象

pickle.load(obj, file)

>>> import pickle
>>> file = open('pickle.txt','rb')
>>> newdict = pickle.load(file)
>>> file.close()
>>> newdict
{'id': 123, 'name': 'abc'}

想进一步了解编程开发相关知识,与我一同成长进步,请关注我的公众号“松果仓库”,共同分享宅&程序员的各类资源,谢谢!!!

以上是关于Python常用模块之pickle——对象序列化的主要内容,如果未能解决你的问题,请参考以下文章

python之pickle模块

python3之序列化(pickle&json)

Python常用模块——json,pickle模块

python常用模块之json和pickle模块

Python pickle模块

python 序列化模块之 json 和 pickle