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 相关文章推荐
python基础教程之实现石头剪刀布游戏示例
Feb 11 Python
Python中用于返回绝对值的abs()方法
May 14 Python
python实现爬虫统计学校BBS男女比例之多线程爬虫(二)
Dec 31 Python
python 获得任意路径下的文件及其根目录的方法
Feb 16 Python
浅谈Python中函数的定义及其调用方法
Jul 19 Python
执行Django数据迁移时报 1091错误及解决方法
Oct 14 Python
Python编程快速上手——strip()函数的正则表达式实现方法分析
Feb 29 Python
Ubuntu中配置TensorFlow使用环境的方法
Apr 21 Python
Python 实现一行输入多个数字(用空格隔开)
Apr 29 Python
PyQt中使用QtSql连接MySql数据库的方法
Jul 28 Python
python简单利用字典破解zip文件口令
Sep 07 Python
Python实现抖音热搜定时爬取功能
Mar 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
dedecms 制作模板中使用的全局标记图文教程
2007/03/11 PHP
PHP数据库万能引擎类adodb配置使用以及实例集锦
2014/06/12 PHP
给WordPress中的留言加上楼层号的PHP代码实例
2015/12/14 PHP
thinkphp多表查询两表有重复相同字段的完美解决方法
2016/09/22 PHP
PHP对象链式操作实现原理分析
2016/10/09 PHP
yii2中dropDownList实现二级和三级联动写法
2017/04/26 PHP
PHP实现用session来实现记录用户登陆信息
2018/10/15 PHP
PHP实现与java 通信的插件使用教程
2019/08/11 PHP
php实现通过stomp协议连接ActiveMQ操作示例
2020/02/23 PHP
js操作textarea方法集合封装(兼容IE,firefox)
2011/02/22 Javascript
jquery仿搜索自动联想功能代码
2014/05/23 Javascript
javascript实现的闭包简单实例
2015/07/17 Javascript
JavaScript运动减速效果实例分析
2015/08/04 Javascript
jstl中判断list中是否包含某个值的简单方法
2016/10/14 Javascript
Angular的$http的ajax的请求操作(推荐)
2017/01/10 Javascript
vue.js整合mint-ui里的轮播图实例代码
2017/12/27 Javascript
JS 验证码功能的三种实现方式
2018/11/26 Javascript
mpvue性能优化实战技巧(小结)
2019/04/17 Javascript
如何基于原生javaScript生成带图片的二维码
2019/11/21 Javascript
[55:48]VGJ.S vs TNC Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
浅析Python中的多条件排序实现
2016/06/07 Python
Python离线安装PIL 模块的方法
2019/01/08 Python
Django stark组件使用及原理详解
2019/08/22 Python
使用Tensorflow将自己的数据分割成batch训练实例
2020/01/20 Python
python实现一个猜拳游戏
2020/04/05 Python
Python reduce函数作用及实例解析
2020/05/08 Python
python 将列表里的字典元素合并为一个字典实例
2020/09/01 Python
利用python如何实现猫捉老鼠小游戏
2020/12/04 Python
CSS3之2D与3D变换的实现方法
2019/01/28 HTML / CSS
浅析border-radius如何兼容IE
2016/04/19 HTML / CSS
Speedo速比涛德国官方网站:世界领先的泳装品牌
2019/08/26 全球购物
车工岗位职责
2013/11/26 职场文书
2014年元旦感言
2014/03/06 职场文书
关于召开会议的通知
2015/04/15 职场文书
2016年大学生暑期社会实践方案
2015/11/26 职场文书
python前后端自定义分页器
2022/04/13 Python