脚本专栏 
首页 > 脚本专栏 > 浏览文章

Python pickle模块实现对象序列化

(编辑:jimmy 日期: 2024/11/20 浏览:3 次 )

这篇文章主要介绍了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'\x80\x03}q\x00(X\x02\x00\x00\x00idq\x01K{X\x04\x00\x00\x00nameq\x02X\x03\x00\x00\x00abcq\x03u.'
> 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的几种主动结束程序方式
下一篇:python实现超市商品销售管理系统
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 SiteMap