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 相关文章推荐
PHP webshell检查工具 python实现代码
Sep 15 Python
python基础教程之获取本机ip数据包示例
Feb 10 Python
python uuid模块使用实例
Apr 08 Python
Windows环境下python环境安装使用图文教程
Mar 13 Python
Python os.access()用法实例
Feb 18 Python
Django实现微信小程序的登录验证功能并维护登录态
Jul 04 Python
python实现两个一维列表合并成一个二维列表
Dec 02 Python
python保留小数位的三种实现方法
Jan 07 Python
TensorFlow梯度求解tf.gradients实例
Feb 04 Python
python实现字符串和数字拼接
Mar 02 Python
Python操作Jira库常用方法解析
Apr 10 Python
python自定义函数def的应用详解
Jun 03 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
AM/FM收音机的安装与调试
2021/03/02 无线电
解析PHPExcel使用的常用说明以及把PHPExcel整合进CI框架的介绍
2013/06/24 PHP
PHP入门教程之自定义函数用法详解(创建,调用,变量,参数,返回值等)
2016/09/11 PHP
自写的利用PDO对mysql数据库增删改查操作类
2018/02/19 PHP
Laravel框架自定义验证过程实例分析
2019/02/01 PHP
PHP中的empty、isset、isnull的区别与使用实例
2019/03/22 PHP
JS 实现获取打开一个界面中输入的值
2013/03/19 Javascript
深入探究AngularJS框架中Scope对象的超级教程
2016/01/04 Javascript
javascript动画之模拟拖拽效果篇
2016/09/26 Javascript
JS常用加密编码与算法实例总结
2016/12/22 Javascript
使用vux实现上拉刷新功能遇到的坑
2018/02/08 Javascript
简化vuex的状态管理方案的方法
2018/06/02 Javascript
Vue插件从封装到发布的完整步骤记录
2019/02/28 Javascript
p5.js绘制旋转的正方形
2019/10/23 Javascript
微信小程序点击保存图片到本机功能
2019/12/13 Javascript
Element图表初始大小及窗口自适应实现
2020/07/10 Javascript
vue制作toast组件npm包示例代码
2020/10/29 Javascript
[38:32]DOTA2上海特级锦标赛A组资格赛#2 Secret VS EHOME第二局
2016/02/26 DOTA
[40:19]2018完美盛典CS.GO表演赛
2018/12/17 DOTA
python多重继承新算法C3介绍
2014/09/28 Python
python实现一次创建多级目录的方法
2015/05/15 Python
Python3.6简单操作Mysql数据库
2017/09/12 Python
运行django项目指定IP和端口的方法
2018/05/14 Python
使用python根据端口号关闭进程的方法
2018/11/06 Python
Python正则表达式和元字符详解
2018/11/29 Python
对python读取zip压缩文件里面的csv数据实例详解
2019/02/08 Python
详解python中eval函数的作用
2019/10/22 Python
Tkinter中复选菜单是否被选中的判断与设置方式
2020/03/04 Python
Lungolivigno Fashion官网:高级时装在线购物
2020/10/17 全球购物
运动会入场词50字
2014/02/20 职场文书
优秀学生评语大全
2014/04/25 职场文书
三八活动策划方案
2014/08/17 职场文书
我是一名护士演讲稿
2014/08/28 职场文书
水电工岗位职责
2015/02/14 职场文书
不同意离婚代理词
2015/05/23 职场文书
MySQL 如何限制一张表的记录数
2021/09/14 MySQL