python使用Berkeley DB数据库实例

yipeiwu_com6年前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实现动态数组的示例代码

实现一个支持动态扩容的数组并完成其增删改查 #通过python实现动态数组 """ 数组特点: 占用一段连续的内存空间,支持随机(索引)访问,且时间复杂度为O(1) 添加...

跟老齐学Python之通过Python连接数据库

用Python来编写网站,必须要能够通过python操作数据库,所谓操作数据库,就是通过python实现对数据的连接,以及对记录、字段的各种操作。上一讲提到的那种操作方式,是看官直接通过...

Python可视化mhd格式和raw格式的医学图像并保存的方法

Python可视化mhd格式和raw格式的医学图像并保存的方法

mhd格式的文件里面包含的是raw图像的一些头信息,比如图片大小,拍摄日期等等,那么如何可视化图像呢? import cv2 import SimpleITK as sitk imp...

基于tensorflow加载部分层的方法

一般使用 saver.restore(sess, modeldir + "model.ckpt") 即可加载已经训练好的网络,可是有时候想值使用部分层的参数,这时候可以选择在加载网...

Python numpy.array()生成相同元素数组的示例

如下所示: new_array = np.zeros((5,4)) for i in range(3): new_array[i] = np.array([0.25]*4) 运行...