python使用Berkeley DB数据库实例


Posted in Python onSeptember 26, 2014

本文实例讲述了python使用Berkeley DB数据库的方法,分享给大家供大家参考。

具体实现方法如下:

try: 
  from bsddb import db 
except ImportError: 
  from bsddb3 import db 
print db.DB_VERSION_STRING 
#检测是否有bsddb包 
 
def irecords(curs): 
  record = curs.first() 
  while record: 
    yield record 
    record = curs.next() 
     
adb = db.DB() 
adb.open('db_filename',dbtype = db.DB_HASH, flags = db.DB_CREATE) 
for i,w in enumerate('some word for example'.split()): 
  adb.put(w,str(i)) 
   
for key, data in irecords(adb.cursor()): 
  print key,data 
adb.close() 
print '*'*60 
# 
the_same_db = db.DB() 
the_same_db.open("db_filename") 
the_same_db.put('skidoo','23')#加入数据库 
the_same_db.put('for','change the data')#改变数据库的数据 
for key, data in irecords(the_same_db.cursor()): 
  print key,data 
the_same_db.close()

运行结果如下:  

Berkeley DB 4.7.25: (May 15, 2008)
example 3
some 0
word 1
for 2
************************************************************
example 3
some 0
word 1
for change the data
skidoo 23

这里再总结一下操作步骤:

1.先初始化数据库

adb = db.DB()

2.打开数据库

adb.open('db_filename',dbtype = db.DB_HASH, flags = db.DB_CREATE)

3.插入或修改数据库中的数据

adb.put('skidoo','23')#加入数据库
adb.put('for','change the data')#改变数据库的数据

4.关闭数据库

adb.close()

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
python正则表达式re模块详细介绍
May 29 Python
python的else子句使用指南
Feb 27 Python
浅谈对yield的初步理解
May 29 Python
Python中用psycopg2模块操作PostgreSQL方法
Nov 28 Python
python编写朴素贝叶斯用于文本分类
Dec 21 Python
使用PYTHON解析Wireshark的PCAP文件方法
Jul 23 Python
在python Numpy中求向量和矩阵的范数实例
Aug 26 Python
python实现LRU热点缓存及原理
Oct 29 Python
安装Pycharm2019以及配置anconda教程的方法步骤
Nov 11 Python
python enumerate内置函数用法总结
Jan 07 Python
使用TensorBoard进行超参数优化的实现
Jul 06 Python
Python访问Redis的详细操作
Jun 26 Python
python实现通过shelve修改对象实例
Sep 26 #Python
python实现在pickling的时候压缩的方法
Sep 25 #Python
python使用cPickle模块序列化实例
Sep 25 #Python
python使用marshal模块序列化实例
Sep 25 #Python
python中类的一些方法分析
Sep 25 #Python
python实现获取序列中最小的几个元素
Sep 25 #Python
python中bisect模块用法实例
Sep 25 #Python
You might like
PHP常用排序算法实例小结【基本排序,冒泡排序,快速排序,插入排序】
2017/02/07 PHP
php自定义截取中文字符串-utf8版
2017/02/27 PHP
php单元测试phpunit入门实例教程
2017/11/17 PHP
PHP等比例压缩图片的实例代码
2018/07/26 PHP
PHP哈希表实现算法原理解析
2020/12/11 PHP
JQuery学习笔记 nt-child的使用
2011/01/17 Javascript
来自国外的30个基于jquery的Web下拉菜单
2012/06/22 Javascript
Dom 学习总结以及实例的使用介绍
2013/04/24 Javascript
jQuery中.live()方法的用法深入解析
2013/12/30 Javascript
用js+iframe形成页面的一种遮罩效果的具体实现
2013/12/31 Javascript
js代码验证手机号码和电话号码是否合法
2015/07/30 Javascript
JavaScript实现瀑布流布局
2020/06/28 Javascript
windows 下安装nodejs 环境变量设置
2017/02/02 NodeJs
React-router v4 路由配置方法小结
2017/08/08 Javascript
nodejs发送http请求时遇到404长时间未响应的解决方法
2017/12/10 NodeJs
微信小程序scroll-view实现字幕滚动
2018/07/14 Javascript
详解vue指令与$nextTick 操作DOM的不同之处
2018/08/02 Javascript
解决Js先触发失去焦点事件再执行点击事件的问题
2018/08/30 Javascript
[01:05:41]EG vs Optic Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
[03:35]2018年度DOTA2最佳辅助位选手5号位-完美盛典
2018/12/17 DOTA
python非递归全排列实现方法
2017/04/10 Python
使用requests库制作Python爬虫
2018/03/25 Python
Python创建一个空的dataframe,并循环赋值的方法
2018/11/08 Python
利用selenium爬虫抓取数据的基础教程
2019/06/10 Python
浅谈keras中的batch_dot,dot方法和TensorFlow的matmul
2020/06/18 Python
Python实现删除某列中含有空值的行的示例代码
2020/07/20 Python
python线程里哪种模块比较适合
2020/08/02 Python
通过实例解析python subprocess模块原理及用法
2020/10/10 Python
Opencv python 图片生成视频的方法示例
2020/11/18 Python
CSS3 实现倒计时效果
2020/11/25 HTML / CSS
Java TransactionAPI (JTA) 主要包含几部分
2012/12/07 面试题
小学教师培训感言
2014/02/11 职场文书
教职工代表大会主持词
2014/04/01 职场文书
公司经理任命书
2014/06/05 职场文书
使用redis实现延迟通知功能(Redis过期键通知)
2021/09/04 Redis
Ajax实现异步加载数据
2021/11/17 Javascript