Python LMDB库的使用示例


Posted in Python onFebruary 14, 2021

linux中,可以使用指令

pip install lmdb

安装lmdb包。

----

  1. lmdb 数据库文件生成
  2. 增 改 删

1、生成一个空的lmdb数据库文件

# -*- coding: utf-8 -*-
import lmdb
# 如果train文件夹下没有data.mbd或lock.mdb文件,则会生成一个空的,如果有,不会覆盖
# map_size定义最大储存容量,单位是kb,以下定义1TB容量
env = lmdb.open("./train",map_size=1099511627776)
env.close()

2、LMDB数据的添加、修改、删除

# -*- coding: utf-8 -*-
import lmdb
# map_size定义最大储存容量,单位是kb,以下定义1TB容量
env = lmdb.open("./train", map_size=1099511627776)
txn = env.begin(write=True)

# 添加数据和键值
txn.put(key = '1', value = 'aaa')
txn.put(key = '2', value = 'bbb')
txn.put(key = '3', value = 'ccc')
 
# 通过键值删除数据
txn.delete(key = '1')
 
# 修改数据
txn.put(key = '3', value = 'ddd')
 
# 通过commit()函数提交更改
txn.commit()
env.close()

3、查询LMDB数据库

# -*- coding: utf-8 -*-
import lmdb
 
env = lmdb.open("./train")
 
# 参数write设置为True才可以写入
txn = env.begin(write=True)
############################################添加、修改、删除数据
 
# 添加数据和键值
txn.put(key = '1', value = 'aaa')
txn.put(key = '2', value = 'bbb')
txn.put(key = '3', value = 'ccc')
 
# 通过键值删除数据
txn.delete(key = '1')
 
# 修改数据
txn.put(key = '3', value = 'ddd')
 
# 通过commit()函数提交更改
txn.commit()
############################################查询lmdb数据
txn = env.begin()
 
# get函数通过键值查询数据
print txn.get(str(2))
 
# 通过cursor()遍历所有数据和键值
for key, value in txn.cursor():
  print (key, value)
  
############################################
env.close()

4. 读取已有.mdb文件内容

# -*- coding: utf-8 -*-
import lmdb
 
env_db = lmdb.Environment('trainC')
# env_db = lmdb.open("./trainC")
 
txn = env_db.begin()
 
# get函数通过键值查询数据,如果要查询的键值没有对应数据,则输出None
print txn.get(str(200))
 
for key, value in txn.cursor(): #遍历
  print (key, value)
 
env_db.close()

以上就是Python LMDB库的使用示例的详细内容,更多关于Python LMDB库的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
pycharm 使用心得(九)解决No Python interpreter selected的问题
Jun 06 Python
python实现基于两张图片生成圆角图标效果的方法
Mar 26 Python
python计算N天之后日期的方法
Mar 31 Python
Python3.x对JSON的一些操作示例
Sep 01 Python
Python比较2个时间大小的实现方法
Apr 10 Python
Python的iOS自动化打包实例代码
Nov 22 Python
对python多线程中互斥锁Threading.Lock的简单应用详解
Jan 11 Python
利用jupyter网页版本进行python函数查询方式
Apr 14 Python
Python分析微信好友性别比例和省份城市分布比例的方法示例【基于itchat模块】
May 29 Python
Python操作Elasticsearch处理timeout超时
Jul 17 Python
Python 批量下载阴阳师网站壁纸
May 19 Python
Python进行区间取值案例讲解
Aug 02 Python
python 装饰器重要在哪
Feb 14 #Python
python爬虫如何解决图片验证码
Feb 14 #Python
Python实现粒子群算法的示例
Feb 14 #Python
Python中对象的比较操作==和is区别详析
Feb 12 #Python
python绘图模块之利用turtle画图
Feb 12 #Python
Python列表的深复制和浅复制示例详解
Feb 12 #Python
Python就将所有的英文单词首字母变成大写
Feb 12 #Python
You might like
调试一段PHP程序时遇到的三个问题
2012/01/17 PHP
如何使用GDB调试PHP程序
2015/12/08 PHP
php使用gearman进行任务分发操作实例详解
2020/02/26 PHP
给moz-firefox下添加IE方法和属性
2007/04/10 Javascript
js不能跳转到上一页面的问题解决方法
2013/03/01 Javascript
JavaScript实现QueryString获取GET参数的方法
2013/07/02 Javascript
JS中自定义定时器让它在某一时刻执行
2014/09/02 Javascript
JavaScript代码复用模式详解
2014/11/07 Javascript
jQuery实现强制cookie过期方法汇总
2015/05/22 Javascript
Jquery日历插件制作简单日历
2015/10/28 Javascript
总结AngularJS开发者最常犯的十个错误
2016/08/31 Javascript
JavaScript 拖拽实例代码
2016/09/21 Javascript
jQuery EasyUI 获取tabs的实例解析
2016/12/06 Javascript
Angularjs中三种数据的绑定策略(“@”,“=”,“&”)
2016/12/23 Javascript
浅谈js算法和流程控制
2016/12/29 Javascript
解决vue处理axios post请求传参的问题
2018/03/05 Javascript
微信小程序input框中加入小图标的实现方法
2018/06/19 Javascript
Vue Object.defineProperty及ProxyVue实现双向数据绑定
2020/09/02 Javascript
vue使用exif获取图片旋转,压缩的示例代码
2020/12/11 Vue.js
[02:16]完美世界DOTA2联赛PWL S3 集锦第三期
2020/12/21 DOTA
python实现图片变亮或者变暗的方法
2015/06/01 Python
Python交互环境下实现输入代码
2018/06/22 Python
如何用Anaconda搭建虚拟环境并创建Django项目
2020/08/02 Python
基于Python的接口自动化读写excel文件的方法
2021/01/15 Python
实例讲解利用HTML5 Canvas API操作图形旋转的方法
2016/03/22 HTML / CSS
html5 canvas简单封装一个echarts实现不了的饼图
2018/06/12 HTML / CSS
美国演唱会订票网站:Ticketmaster美国
2017/10/05 全球购物
澳大利亚在线性感内衣商店:Fantasy Lingerie
2021/02/07 全球购物
如何执行一个shell程序
2012/11/23 面试题
护士自我评价范文
2014/01/25 职场文书
超市促销活动方案
2014/03/05 职场文书
假面舞会策划方案
2014/05/29 职场文书
国庆宣传标语
2014/06/30 职场文书
2014应届本科生自我评价
2014/09/13 职场文书
告知书格式
2015/07/01 职场文书
《勇者辞职不干了》上卷BD发售宣传CM公开
2022/04/08 日漫