python使用Berkeley DB数据库实例

yipeiwu_com7年前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中sys.argv参数用法实例分析

本文实例讲述了python中sys.argv参数用法。分享给大家供大家参考。具体分析如下: 在学python的过程中,一直弄不明白sys.argv[]的意思,虽知道是表示命令行参数,但还...

python中的单引号双引号区别知识点总结

python中的单引号双引号有什么区别呢?下面给大家详细的介绍一下: 先说双引号与三引号的区别,双引号所表示的字符串通常要写成一行。 如: s1 = "hello,world" 如...

Python基于回溯法子集树模板解决0-1背包问题实例

Python基于回溯法子集树模板解决0-1背包问题实例

本文实例讲述了Python基于回溯法子集树模板解决0-1背包问题。分享给大家供大家参考,具体如下: 问题 给定N个物品和一个背包。物品i的重量是Wi,其价值位Vi ,背包的容量为C。问应...

python二维键值数组生成转json的例子

今天出于需要,要将爬虫爬取的一些数据整理成二维数组,再编码成json字符串传入数据库 那么问题就来了,在php中这个过程很简便 ,类似这样: $arr[$key1][$key2]=...

python中break、continue 、exit() 、pass终止循环的区别详解

python中break、continue 、exit() 、pass终止循环的区别详解

python中break、continue 、exit() 、pass区分 1、break:跳出循环,不再执行 Python break语句,就像在C语言中,打破了最小封闭for或...