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 MySQLdb 使用utf-8 编码插入中文数据问题
Mar 13 Python
python+splinter自动刷新抢票功能
Sep 25 Python
python 调用钉钉机器人的方法
Feb 20 Python
Python+OpenCV+pyQt5录制双目摄像头视频的实例
Jun 28 Python
Python Pandas实现数据分组求平均值并填充nan的示例
Jul 04 Python
如何获取Python简单for循环索引
Nov 21 Python
python 统计文件中的字符串数目示例
Dec 24 Python
Django ValuesQuerySet转json方式
Mar 16 Python
Python如何实现远程方法调用
Aug 07 Python
python用Tkinter做自己的中文代码编辑器
Sep 07 Python
python 窃取摄像头照片的实现示例
Jan 08 Python
使用python对excel表格处理的一些小功能
Jan 25 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中获得视频时间总长度的另一种方法
2011/09/15 PHP
深入HTTP响应状态码速查表的详解
2013/06/07 PHP
PHP的文件操作与算法实现的面试题示例
2015/08/10 PHP
详解Laravel视图间共享数据与视图Composer
2016/08/04 PHP
关于jQuery对象数据缓存Cache原理以及jQuery.data详解
2013/04/07 Javascript
js与运算符和或运算符的妙用
2014/02/14 Javascript
javascript简单实现图片预加载
2014/12/03 Javascript
JavaScript中的Truthy和Falsy介绍
2015/01/01 Javascript
详解Bootstrap插件
2016/04/25 Javascript
详解jQuery的Cookie插件
2016/11/23 Javascript
微信小程序商品到详情的实现
2017/06/27 Javascript
最全的JavaScript开发工具列表 总有一款适合你
2017/06/29 Javascript
vue实现简单loading进度条
2018/06/06 Javascript
vue刷新页面时去闪烁提升用户体验效果的实现方法
2018/12/10 Javascript
JS箭头函数和常规函数之间的区别实例分析【 5 个区别】
2020/05/27 Javascript
[00:52]DOTA2第二届亚洲邀请赛预选赛宣传片
2017/01/13 DOTA
python定时执行指定函数的方法
2015/05/27 Python
Python实现中文数字转换为阿拉伯数字的方法示例
2017/05/26 Python
python验证身份证信息实例代码
2019/05/06 Python
使用Python生成200个激活码的实现方法
2019/11/22 Python
Python Websocket服务端通信的使用示例
2020/02/25 Python
浅谈numpy中np.array()与np.asarray的区别以及.tolist
2020/06/03 Python
python中元组的用法整理
2020/06/15 Python
利用PyQt5+Matplotlib 绘制静态/动态图的实现代码
2020/07/13 Python
Python sqlalchemy时间戳及密码管理实现代码详解
2020/08/01 Python
StubHub西班牙:购买和出售全球活动门票
2017/06/05 全球购物
几个常见的消息中间件(MOM)
2014/01/08 面试题
企划专员岗位职责
2013/12/09 职场文书
图书馆志愿者活动总结
2014/06/27 职场文书
驾驶员安全责任书范本
2014/07/24 职场文书
小学生美德少年事迹材料
2014/08/24 职场文书
毕业生代领毕业材料的授权委托书
2014/09/29 职场文书
死亡证明书样本说明
2014/10/18 职场文书
个人求职自荐信范文
2015/03/06 职场文书
商务信函英语问候语
2015/11/10 职场文书
Django使用echarts进行可视化展示的实践
2021/06/10 Python