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 相关文章推荐
浅析AST抽象语法树及Python代码实现
Jun 06 Python
Python卸载模块的方法汇总
Jun 07 Python
Python实现的txt文件去重功能示例
Jul 07 Python
python3+selenium实现126邮箱登陆并发送邮件功能
Jan 23 Python
python使用pandas处理excel文件转为csv文件的方法示例
Jul 18 Python
django实现支付宝支付实例讲解
Oct 17 Python
Python常用模块os.path之文件及路径操作方法
Dec 03 Python
Python pandas库中的isnull()详解
Dec 26 Python
Python实现AI换脸功能
Apr 10 Python
python简单实现最大似然估计&scipy库的使用详解
Apr 15 Python
Python configparser模块应用过程解析
Aug 14 Python
python pymysql库的常用操作
Oct 16 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
一个程序下载的管理程序(三)
2006/10/09 PHP
php使用json_decode后数字对象转换成了科学计数法的解决方法
2017/02/20 PHP
PHP PDOStatement::getColumnMeta讲解
2019/02/01 PHP
简单通用的JS滑动门代码
2008/12/19 Javascript
基于JQuery的一个简单的鼠标跟随提示效果
2010/09/23 Javascript
js的2种继承方式详解
2014/03/04 Javascript
用js模拟struts2的多action调用示例
2014/05/19 Javascript
JavaScript strike方法入门实例(给字符串加上删除线)
2014/10/17 Javascript
Javascript实现颜色rgb与16进制转换的方法
2015/04/18 Javascript
解决jquery中动态新增的元素节点无法触发事件问题的两种方法
2015/10/30 Javascript
js 实现一些跨浏览器的事件方法详解及实例
2016/10/27 Javascript
javascript实现简单的ajax封装示例
2016/12/28 Javascript
Angular.js中处理页面闪烁的方法详解
2017/03/09 Javascript
AngularJS路由切换实现方法分析
2017/03/17 Javascript
详解Angular 中 ngOnInit 和 constructor 使用场景
2017/06/22 Javascript
Nodejs实现文件上传的示例代码
2017/09/26 NodeJs
JavaScript数组,JSON对象实现动态添加、修改、删除功能示例
2018/05/26 Javascript
node.js事件轮询机制原理知识点
2019/12/22 Javascript
[54:10]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
[50:22]完美盛典-2018年度红毯走秀
2018/12/16 DOTA
Python下的Mysql模块MySQLdb安装详解
2014/04/09 Python
python写的一个squid访问日志分析的小程序
2014/09/17 Python
深入浅析python中的多进程、多线程、协程
2016/06/22 Python
python 表达式和语句及for、while循环练习实例
2017/07/07 Python
python实现图片识别汽车功能
2018/11/30 Python
对numpy下的轴交换transpose和swapaxes的示例解读
2019/06/26 Python
python numpy 常用随机数的产生方法的实现
2019/08/21 Python
Python爬虫爬取Bilibili弹幕过程解析
2019/10/10 Python
pytorch常见的Tensor类型详解
2020/01/15 Python
Infababy英国:婴儿推车、Travel System婴儿车和婴儿汽车座椅销售
2018/05/23 全球购物
英语系本科生个人求职信
2013/09/21 职场文书
投资合作协议书
2014/04/17 职场文书
学校与家长安全责任书
2014/07/23 职场文书
含预算的公司户外活动方案
2014/08/16 职场文书
授权委托书范本(单位)
2014/09/28 职场文书
商务宴会祝酒词
2015/08/11 职场文书