python程序设计实验报告实验程序流程序列化_Python使用pickle模块实现序列化功能示例...
本文实例讲述了Python使用pickle模块实现序列化功能。分享给大家供大家参考,具体如下:
Python内置的pickle模块能够将Python对象序列成字节流,也可以把字节流反序列成对象。
import pickle
class Student:
def __init__(self, name, age):
self.name = name
self.age = age
def say(self):
print("I am", self.name)
>>> t = Student('Tom', 23)
>>> t.say()
I am Tom
>>>
>>> save_path = './tom_msg'
>>> with open(save_path, 'wb') as f: # 字节流写入
... pickle.dump(t, f) # 序列化数据保存在文件中
>>>
>>> with open(save_path, 'rb') as f: # 字节流读出
... after_t = pickle.load(f) # 读取文件信息反序列化成对象
...
>>> after_t.__dict__
{'name': 'Tom', 'age': 23}
>>> after_t.say()
I am Tom
>>>
>>>
>>> l = Student('Lisa', 23)
>>> serialized = pickle.dumps(l)
>>> serialized
b'\x80\x03c__main__\nStudent\nq\x00)\x81q\x01}q\x02(X\x04\x00\x00\x00nameq\x03X\x04\x00\x00\x00Lisaq\x04X\x03\x00\x00\x00ageq\x05K\x17ub.'
>>> after_l = pickle.loads(serialized)
>>> after_l.say()
I am Lisa
>>> after_l.__dict__
{'name': 'Lisa', 'age': 23
如果比较复杂的操作(对象属性更变,添加删除),pickle模块可能会出问题,那时候应该结合copyreg来使用
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
本文标题: Python使用pickle模块实现序列化功能示例
本文地址: http://www.cppcns.com/jiaoben/python/234397.html
python程序设计实验报告实验程序流程序列化_Python使用pickle模块实现序列化功能示例...相关推荐
- 金山学院信息与机电工程系实验报告实验2 程序流程控制
金山学院信息与机电工程系实验报告实验2 程序流程控制 一.实验目的和要求 (1)掌握if分支结构.for循环和while循环结构的使用. (2)熟悉列表.元组.字典.集合的概念和基本用法. 二.实验内 ...
- 实验c语言程序数据类型,C语言程序设计实验报告——实验2--数据类型、运算符和表达式.doc...
C语言程序设计实验报告--实验2--数据类型.运算符和表达式.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档 ...
- java程序设计教程实验报告_java程序设计课程--实验报告-实验13.doc
java程序设计课程--实验报告-实验13.doc 还剩 12页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环保! 内容要点: ...
- c语言实验题水仙花数5359,《C语言程序设计》实验报告(实验1-12).doc
<C语言程序设计>实验报告(实验1-12).doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会 ...
- c语言程序设计植树,C语言程序设计实验报告——实验
C语言程序设计实验报告--实验 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. 3.该文档 ...
- Java程序设计实验报告 实验名称:循环和数组
Java程序设计实验报告 实验名称:循环和数组 学号: 姓名:大聪TI学员 实验日期:2018年5月30日星期三 一.实验目的: 1. 遵循循环设计策略来开发循环,使用标记值控制循环. 2. 使用fo ...
- python实验报告实验总结_Python词云制作实验报告
实验题目:n Python 词云制作实验报告 实验目的与要求: 础 掌握基础 Python 安装过程和词云制作. 实验步骤: n Python 安装 1.击 双击 Anaconda2-4.0.0-Wi ...
- c语言程序设计实验教程实验报告,C语言程序设计实验报告——实验九.doc
C语言程序设计实验报告--实验九.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. ...
- c语言程序设计第五版实验报告九,C语言程序设计实验报告-实验九.doc
C语言程序设计实验报告-实验九.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. 3 ...
最新文章
- MySQL存储引擎--------Federated最佳实战
- java calendar.add方法_Java Calendar add()方法与示例
- 关于一个枚举IE表单的DLL,编译无错,但是得不到想到的结果。
- 退休当月要干到月底吗_在一线城市交社保那么多年,退休后到底在哪领养老金,要回老家吗?...
- 8086汇编 贪吃蛇 源代码
- Unity经典游戏教程之:雪人兄弟
- 微信JSAPI支付,报错当前页面的URL未注册
- 招贤纳士|360WEB平台云平台部招人啦
- Git笔记(4) 获取仓库
- 10-R语言文本挖掘tm包详解
- 2021年双十一大复盘:众人唱衰双十一,我们却发现了这些机会
- android nsd和udp广播,android - 调用resolveService时,NSD在DiscoveryListener回调中缺少NSDManager - 堆栈内存溢出...
- 食堂饭卡管理系统C语言——课程设计实习
- centos分区方案
- 选择排序 简单选择排序 直接选择排序的区别
- Scrapy爬虫快速入门
- 嵌入式开发(一):嵌入式开发新手入门
- 【Git】git add
- 如何在word中的图片上画圈标注_怎么在word图片上画圈
- 有向图 G=(V, E) 的拓扑排序
热门文章
- Aux函数java,verse.aux
- magisk安装失败_如何使用Magisk去维补boot实现root权限-适合小米一加全部机型
- 5W 字的 Linux 知识总结
- 从偏远的小山村出来的孩子,一路的 “辛酸史”
- IDEA 真牛逼,900行 又臭又长 的类重构,几分钟搞定
- 推荐几个华为、字节跳动、蚂蚁金服的大佬公号
- 带你学python基础:元祖tuple和字典dictionary
- 数据结构:线性表(java实现)
- struts2教程(4)--类型转换
- 通过XML设置屏幕方向(android:screenOrientation)详解