开发者社区> 桃子红了呐> 正文

python berkeley DB操作——打开btree索引文件中的database

简介:
+关注继续查看

打开BDB中某个索引中的数据库代码:

 

复制代码
from bsddb3 import db
import bsddb3 as bsddb
print db.DB_VERSION_STRING

mydb = db.DB()
mydb.open('your_btree_db_filename', 'databsename', dbtype=db.DB_BTREE)
rec = cur.first()
while rec:
    #print key value
    print int(rec[0].encode('hex'), 16), "=>", len(rec[1])
    rec = cur.next()
mydb.close()
复制代码

 注意:同一个db file中可能有多个database!

 

这样就和 /usr/local/BerkeleyDB.6.1/bin/db_dump your_btree_db_filename 结果一样了,dump结果如下所示:

复制代码
VERSION=3
format=bytevalue
database=BLOCK_TIME_RANGE
type=btree
duplicates=1
db_pagesize=4096
HEADER=END
DATA=END
VERSION=3
format=bytevalue
database=xxxxyour databse name
type=btree
duplicates=1
db_pagesize=4096
HEADER=END
 01000000  #=>key
 5e096909f0fxxxxx # value
 01000001  #=>key
 5e096809f0ffff83xxxxxxx # value
xxxxxxxxxxxx more btree data xxxxxxxxxxxx
复制代码

顺便补充,查看一个db中有多少数据库:

bdb = bsddb.btopen('32_20170228151803_qsb.idx', 'r')
print bdb.keys()
bdb.close()

 

再补充,打开reco DB示例:

复制代码
from bsddb3 import db
import bsddb3 as bsddb
print db.DB_VERSION_STRING

mydb = db.DB()
mydb.open('30_20170228145149_qsb.db',dbtype=db.DB_RECNO)
cur = mydb.cursor()
i = 0
f = open("data.bin", "wb")
rec = cur.first()
while rec:
    #print rec
    print rec[0], type(rec[1])
    f.write(rec[1]) # write data to file
    rec = cur.next()
    i += 1
f.close()
mydb.close()
复制代码

 













本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/bonelee/p/6510543.html,如需转载请自行联系原作者


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
python制作词云,创建txt文件
目录 1.本文简介 2.所需要用到的第三方库 3.需要的txt文件 4.大概流程 5.词云优化 6.完整代码和成果展示 7.词云扩展 1.本文简介 词云广泛应用于ppt、新闻、文章中,能突出下文所要讲述的主体,能在作品中添加一张词云肯定是加分的。下面主要是我最近学到的制作简单的词云的方法,各方面我会尽量讲的细致一点,希望能对大家有所帮助。 2.所需要用到的第三方库 from wordcloud import WordCloud import matplotlib.pyplot as plt import jieba 第一个库是制作词云所需要的(根据英文意思也能知道);第二个库能进行优秀
30 0
Python批量读取Excel并跨越不同xlsx文件求取平均值
本文介绍基于Python语言,实现对多个不同Excel文件进行数据读取与平均值计算的方法~
35 0
python 使用ftplib连接ftp服务器获取目录、文件及它们的修改时间
* 获取当前路径或者指定路径下的文件、目录 * 检查指定路径是目录还是文件 * 根据目录、文件的修改时间来判断是否下载ftp的文件。 由于ftplib中的FTP无法满足我这一需求,所以只能重写一个MyFTP类继承FTP,写一个方法来实现,除了这个还实现了一个获取当前目录下的所有目录及文件。
40 0
Python入门实例——文件和异常
Python入门实例——文件和异常
13 0
软件测试|一文教你学会Python文件 I/O 操作
软件测试|一文教你学会Python文件 I/O 操作
16 0
python文件打包成exe可执行文件
python文件打包成exe可执行文件
36 0
.mat文件转到Python中处理
.mat文件转到Python中处理
28 0
使用Pycharm设置python脚本文件头
使用Pycharm设置python脚本文件头:位置、效果参考、模板预定义变量参考。。。
27 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
给运维工程师的Python实战课
立即下载
Python 脚本速查手册
立即下载
ACE 区域技术发展峰会:Flink Python Table API入门及实践
立即下载