文档章节

用shelve模块实现Python自定义对象序列化

f
 fdc2017
发布于 2017/05/07 00:47
字数 209
阅读 7
收藏 0

引入shelve模块,并自定义一个类

>>> import shelve
>>> class Person:
	def __init__(self,name,age):
		self.name=name
		self.age=age
	def __repr__(self):
		return '%s  %d' %(self.name,self.age)
	def Speak(self):
		print('我是:%s,年龄%d' %(self.name,self.age))

实例化一个Person类对象列表people

>>> people=[Person('王菲',47),Person('柳岩',36),Person('范冰冰',37)]
>>> people
[王菲  47, 柳岩  36, 范冰冰  37]

用shelve序列化people列表

>>> with shelve.open (r'd:\python\mydata') as s:
	s['mydata']=people

反序列化people列表

>>> people=[]
>>> people
[]
>>> with shelve.open (r'd:\python\mydata') as s:
	people=s['mydata']

	
>>> people
[王菲  47, 柳岩  36, 范冰冰  37]
>>> for p in people:
	p.Speak()

	
我是:王菲,年龄47
我是:柳岩,年龄36
我是:范冰冰,年龄37

一切正常,正是我们需要的结果。实践发现,不管是用shelve还是pickle,反序列化时,一定要有类定义。

 

© 著作权归作者所有

共有 人打赏支持
f
粉丝 0
博文 9
码字总数 1724
作品 0
武汉
私信 提问
Python对象持久化学习整理

随着项目的深入,python对象持久化问题也随之而来。而在这之前,对于python对象持久化还停留在pickle时代,而这已无法满足当前项目发展的需要了,于是只好借助google疯狂的学习了一把,同时也...

索隆
2012/05/24
0
0
Python3基础之学习笔记(六)-json与pickle数据序列化-项目目录结构-模块详解

文章目录 1. json与pickle数据序列化 2. 项目目录结构 3. 模块详解 1. json与pickle数据序列化 1.1 json序列化与反序列化 1.1.1 json序列化 1.1.2 json反序列化 1.1.3 json小结 Json只能进行...

GoldenKitten
01/15
0
0
简单比较Python的数据持久化操作

转自http://smartzxy.iteye.com/blog/680431 简单比较Python的数据持久化操作(一) 最近喜欢上了Python,喜欢它的简洁高效,喜欢它的“无所不能”。 Python的数据持久化操作主要是六类:普通...

alazyer
2014/05/28
0
0
初学Python——文件操作第三篇

一、引言 什么?有了第二篇文件操作还不够?远远不够!而且在读完第三篇文件操作还是不够。关于文件的操作,后续的学习中将不断学习新的操作方式,使用更加合适的方法。 进入正题,上一篇讲到...

学霸初养成
2018/05/12
0
0
Konghy/shelvedb

ShelveDB 利用 shelve 模块实现一个简单的基于文件的键值数据库。Python 中的 shelve 模块,可以提供一些简单的数据操作。在 shelve 模块中,key 必须为字符串,而值可以是python 所支持的数...

Konghy
2016/06/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Linux iptables之mangle表使用案例

mangle表的用途 mangle表的主要功能是根据规则修改数据包的一些标志位,以便其他规则或程序可以利用这种标志对数据包进行过滤或策略路由。 mangel表使用示例 示例1-策略路由1 内网的客户机通...

月下狼
今天
3
0
OSChina 周日乱弹 —— 兼职我想去学学布偶戏

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @clouddyy : 《火炎 - 女王蜂》 《火炎 - 女王蜂》 手机党少年们想听歌,请使劲儿戳(这里) @小鱼丁 :还在睡觉突然接到一个小哥哥电话“x...

小小编辑
今天
105
7
租房软件隐私保护如同虚设

近日,苏州市民赵先生向江苏新闻广播新闻热线025-84658888反映,他在“安居客”手机应用软件上浏览二手房信息,并且使用该软件自动生成的虚拟号码向当地一家中介公司进行咨询。可电话刚挂不久...

linux-tao
今天
4
0
分布式项目(五)iot-pgsql

书接上回,在Mapping server中,我们已经把数据都整理好了,现在利用postgresql存储历史数据。 iot-pgsql 构建iot-pgsql模块,这里我们写数据库为了性能考虑不在使用mybatis,换成spring jd...

lelinked
今天
6
0
一文分析java基础面试题中易出错考点

前言 这篇文章主要针对的是笔试题中出现的通过查看代码执行结果选择正确答案题材。 正式进入题目内容: 1、(单选题)下面代码的输出结果是什么? public class Base { private Strin...

一看就喷亏的小猿
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部