Python中的anydbm模版和shelve模版使用指南


Posted in Python onJuly 09, 2015

好久没写这系列的文章了,我越来越喜欢用python了,它在我的工作中占据的比例越来越大。废话少说,直接进入主题。

 anydbm允许我们将一个磁盘上的文件与一个“dict-like”对象关联起来,操作这个“dict-like”对象,就像操作dict对象一样,最后可以将“dict-like”的数据持久化到文件。对这个”dict-like”对象进行操作的时候,key和value的类型必须是字符串。下面是使用anydbm的例子:
   

#coding=utf-8
 
import anydbm
 
def CreateData():
  try:
    db = anydbm.open('db.dat', 'c')
    
# key与value必须是字符串
    
# db['int'] = 1
    
# db['float'] = 2.3
    db['string'] = "I like python."
    db['key'] = 'value'
  finally:
    db.close()
 
def LoadData():
  db = anydbm.open('db.dat', 'r')
  for item in db.items():
    print item
  db.close()
 
if __name__ == '__main__':
  CreateData()
  LoadData()

anydbm.open(filename[, flag[, mode]]),filename是关联的文件路径,可选参数flag可以是: ‘r': 只读, ‘w': 可读写, ‘c': 如果数据文件不存在,就创建,允许读写; ‘n': 每次调用open()都重新创建一个空的文件。mode是unix下文件模式,如0666表示允许所有用户读写。
    shelve模块是anydbm的增强版,它支持在”dict-like”对象中存储任何可以被pickle序列化的对象,但key也必须是字符串。同样的例子,与shelve来实现:
 

import shelve
 
def CreateData():
  try:
    db = shelve.open('db.dat', 'c')
    
# key与value必须是字符串
    db['int'] = 1
    db['float'] = 2.3
    db['string'] = "I like python."
    db['key'] = 'value'
  finally:
    db.close()
 
def LoadData():
  db = shelve.open('db.dat', 'r')
  for item in db.items():
    print item
  db.close()
 
if __name__ == '__main__':
  CreateData()
  LoadData()
Python 相关文章推荐
Python语言技巧之三元运算符使用介绍
Mar 04 Python
Python读取Json字典写入Excel表格的方法
Jan 03 Python
Tensorflow的可视化工具Tensorboard的初步使用详解
Feb 11 Python
使用python装饰器计算函数运行时间的实例
Apr 21 Python
python中的print()输出
Apr 12 Python
python time.sleep()是睡眠线程还是进程
Jul 09 Python
python实现KNN分类算法
Oct 16 Python
Python udp网络程序实现发送、接收数据功能示例
Dec 09 Python
2020新版本pycharm+anaconda+opencv+pyqt环境配置学习笔记,亲测可用
Mar 24 Python
django 多数据库及分库实现方式
Apr 01 Python
python解压zip包中文乱码解决方法
Nov 27 Python
python实现马丁策略的实例详解
Jan 15 Python
python冒泡排序简单实现方法
Jul 09 #Python
python基于BeautifulSoup实现抓取网页指定内容的方法
Jul 09 #Python
python简单猜数游戏实例
Jul 09 #Python
Python使用turtule画五角星的方法
Jul 09 #Python
python查看zip包中文件及大小的方法
Jul 09 #Python
Python基于checksum计算文件是否相同的方法
Jul 09 #Python
Python实现文件按照日期命名的方法
Jul 09 #Python
You might like
PHP 时间转换Unix时间戳代码
2010/01/22 PHP
jQuery+PHP实现图片上传并提交功能
2020/07/27 PHP
PHP时间类完整代码实例
2021/02/26 PHP
jquery一句话全选/取消全选
2011/03/01 Javascript
各种常用的JS函数整理
2013/10/25 Javascript
javascript遍历控件实例详细解析
2014/01/10 Javascript
Yii2使用Bootbox插件实现自定义弹窗
2015/04/02 Javascript
JavaScript实现将UPC转换成ISBN的方法
2015/05/26 Javascript
js和C# 时间日期格式转换的简单实例
2016/05/28 Javascript
vuex实现简易计数器
2016/10/27 Javascript
如何将 jQuery 从你的 Bootstrap 项目中移除(取而代之使用Vue.js)
2017/07/17 jQuery
vue 动态修改a标签的样式的方法
2018/01/18 Javascript
使用vue制作探探滑动堆叠组件的实例代码
2018/03/07 Javascript
js提取中文拼音首字母的封装工具类
2018/03/12 Javascript
AngularJS自定义过滤器用法经典实例总结
2018/05/17 Javascript
bootstrap-table+treegrid实现树形表格
2019/07/26 Javascript
Ant-design-vue Table组件customRow属性的使用说明
2020/10/28 Javascript
Python通过90行代码搭建一个音乐搜索工具
2015/07/29 Python
使用python实现knn算法
2017/12/20 Python
Ubuntu下使用python读取doc和docx文档的内容方法
2018/05/08 Python
在python中实现求输出1-3+5-7+9-......101的和
2020/04/02 Python
Ariat英国官网:为世界顶级马术运动员制造最优质的鞋类和服装
2020/02/14 全球购物
武汉瑞得软件笔试题
2015/10/27 面试题
开办化妆品公司创业计划书
2013/12/26 职场文书
天鹅的故事教学反思
2014/02/04 职场文书
销售人员获奖感言
2014/02/05 职场文书
行政主管职责范本
2014/03/07 职场文书
2014年党的群众路线教育实践活动总结
2014/04/25 职场文书
市场营销调查计划书
2014/05/02 职场文书
国旗下讲话演讲稿
2014/05/08 职场文书
节水口号标语
2014/06/19 职场文书
辛德勒的名单观后感
2015/06/03 职场文书
大学生受助感言
2015/08/01 职场文书
申请吧主发表的感言
2015/08/03 职场文书
2016年春季开学典礼新闻稿
2015/11/25 职场文书
2016感恩母亲节校园广播稿
2015/12/17 职场文书