python使用Berkeley DB数据库实例

yipeiwu_com5年前Python基础

本文实例讲述了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 DataFrame 取差集实例

需求:给定一个dataframe和一个list,list中存放的是dataframe中某一列的元素,删除dataframe中与list元素重复的行(即取差集)。 在网上搜了一圈,好像没看...

Java及python正则表达式详解

Java及python正则表达式详解

正则表达式语法及常用元字符: 正则表达式有元字符及不同组合来构成,通过巧妙的构造正则表达式可以匹配任意字符串,并完成复杂的字符串处理任务。 常用的元字符有: 其中在使用反斜线时要注意:如...

python 有效的括号的实现代码示例

给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭...

在python2.7中用numpy.reshape 对图像进行切割的方法

在python2.7中用numpy.reshape 对图像进行切割的方法

遇到这么个需求:把图片按照定义的patchsize切块,然后按照z轴顺序叠放小块,如下图(仅考虑灰度图像) 图片im,设size为(h,w),patchsize为(ph,pw),则处理...

Python脚本实现下载合并SAE日志

由于一些原因,需要SAE上站点的日志文件,从SAE上只能按天下载,下载下来手动处理比较蛋疼,尤其是数量很大的时候。还好SAE提供了API可以批量获得日志文件下载地址,刚刚写了python...