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 BeautifulSoup中文乱码问题的2种解决方法
Apr 22 Python
Python中Collections模块的Counter容器类使用教程
May 31 Python
Python 基础之字符串string详解及实例
Apr 01 Python
Python urls.py的三种配置写法实例详解
Apr 28 Python
python字典快速保存于读取的方法
Mar 23 Python
python3获取两个日期之间所有日期,以及比较大小的实例
Apr 08 Python
简单了解python的内存管理机制
Jul 08 Python
Django跨域资源共享问题(推荐)
Mar 09 Python
python多进程下的生产者和消费者模型
May 07 Python
Python中seaborn库之countplot的数据可视化使用
Jun 11 Python
FP-growth算法发现频繁项集——构建FP树
Jun 24 Python
python程序的组织结构详解
Dec 06 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 SPL标准库之文件操作(SplFileInfo和SplFileObject)实例
2015/05/11 PHP
最新制作ThinkPHP3.2.3完全开发手册
2015/11/23 PHP
WordPress开发中短代码的实现及相关函数使用技巧
2016/01/05 PHP
动态加载js文件 document.createElement
2006/10/14 Javascript
从阿里妈妈发现的几个不错的表单验证函数
2007/09/21 Javascript
解决jquery的.animate()函数在IE6下的问题
2010/12/03 Javascript
jQuery代码优化 选择符篇
2011/11/01 Javascript
js实现在页面上弹出蒙板技巧简单实用
2013/04/16 Javascript
用Jquery.load载入页面实现局部刷新
2014/01/22 Javascript
jQuery学习笔记之 Ajax操作篇(三) - 过程处理
2014/06/23 Javascript
jquery获取一个元素下面相同子元素的个数代码
2014/07/31 Javascript
深入探讨javascript中的数据类型
2015/03/04 Javascript
Bootstrap3制作自己的导航栏
2016/05/12 Javascript
JavaScript实现简单的日历效果
2016/09/25 Javascript
使用Ajax与服务器(JSON)通信实例
2016/11/04 Javascript
javascript编写简易计算器
2017/05/06 Javascript
js学习总结之DOM2兼容处理重复问题的解决方法
2017/07/27 Javascript
微信小程序Getuserinfo解决方案图解
2018/08/24 Javascript
webstorm中配置Eslint的两种方式及差异比较详解
2018/10/19 Javascript
微信小程序防止多次点击跳转和防止表单组件输入内容多次验证功能(函数防抖)
2019/09/19 Javascript
小程序如何写动态标签的实现方法
2020/02/05 Javascript
[02:21]2018完美盛典章节片——初心
2018/12/17 DOTA
利用Python中的mock库对Python代码进行模拟测试
2015/04/16 Python
python实现BackPropagation算法
2017/12/14 Python
Flask框架WTForm表单用法示例
2018/07/20 Python
Python3实现的旋转矩阵图像算法示例
2019/04/03 Python
python中比较两个列表的实例方法
2019/07/04 Python
python 实现目录复制的三种小结
2019/12/04 Python
基于python实现查询ip地址来源
2020/06/02 Python
使用Python制作一个数据预处理小工具(多种操作一键完成)
2021/02/07 Python
英国女鞋购物网站:Moda in Pelle
2019/02/18 全球购物
华为C++笔试题
2014/08/05 面试题
上课玩手机检讨书
2014/02/08 职场文书
研究生考核个人自我鉴定
2014/03/27 职场文书
竞选学习委员演讲稿
2014/04/28 职场文书
人力资源管理系自荐信
2014/05/31 职场文书