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数据拟合与广义线性回归算法学习
Dec 22 Python
使用python将图片按标签分入不同文件夹的方法
Dec 08 Python
PyTorch的深度学习入门教程之构建神经网络
Jun 27 Python
对Python获取屏幕截图的4种方法详解
Aug 27 Python
python 模拟贷款卡号生成规则过程解析
Aug 30 Python
Python进阶之使用selenium爬取淘宝商品信息功能示例
Sep 16 Python
Python PyInstaller安装和使用教程详解
Jan 08 Python
pytorch 利用lstm做mnist手写数字识别分类的实例
Jan 10 Python
Python实现投影法分割图像示例(一)
Jan 17 Python
python yield和Generator函数用法详解
Feb 10 Python
PyCharm+Pipenv虚拟环境开发和依赖管理的教程详解
Apr 16 Python
python中的unittest框架实例详解
Feb 05 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.ini中date.timezone设置详解
2016/11/20 PHP
基于Laravel实现的用户动态模块开发
2017/09/21 PHP
php利用ZipArchive类操作文件的实例
2020/01/21 PHP
一个简单的JavaScript 日期计算算法
2009/09/11 Javascript
一个简单的js动画效果代码
2010/07/20 Javascript
5秒后跳转到另一个页面的js代码
2013/10/12 Javascript
JavaScript中的全局对象介绍
2015/01/01 Javascript
JS日期格式化之javascript Date format
2015/10/01 Javascript
尝试动手制作javascript放大镜效果
2015/12/25 Javascript
详解在vue-cli中使用路由
2017/09/25 Javascript
使用nodeJs来安装less及编译less文件为css文件的方法
2017/11/20 NodeJs
bootstrap 弹出框modal添加垂直方向滚轴效果
2018/07/09 Javascript
微信上传视频文件提示(推荐)
2018/11/22 Javascript
vue 实现Web端的定位功能 获取经纬度
2019/08/08 Javascript
写给新手同学的vuex快速上手指北小结
2020/04/14 Javascript
Vue实现计算器计算效果
2020/08/17 Javascript
基于Python中numpy数组的合并实例讲解
2018/04/04 Python
python pandas 如何替换某列的一个值
2018/06/09 Python
python设置值及NaN值处理方法
2018/07/03 Python
python 检查文件mime类型的方法
2018/12/08 Python
在Python中使用turtle绘制多个同心圆示例
2019/11/23 Python
解决python虚拟环境切换无效的问题
2020/04/30 Python
表单button的outline在firefox浏览器下的问题
2012/12/24 HTML / CSS
Bose法国官网:购买耳机、扬声器、家庭影院、专业音响
2017/12/21 全球购物
成教毕业生自我鉴定
2013/10/23 职场文书
《美丽的公鸡》教学反思
2014/02/25 职场文书
党支部承诺书范文
2014/03/28 职场文书
计算机应用应届生求职信
2014/07/12 职场文书
党员干部民主生活会议批评与自我批评材料
2014/09/20 职场文书
副总经理党的群众路线教育实践活动个人对照检查材料思想汇报
2014/10/06 职场文书
毕业生见习报告总结
2014/11/08 职场文书
2015年全国“爱牙日”宣传活动总结
2015/03/23 职场文书
高三毕业感言
2015/07/30 职场文书
机关单位2016年创先争优活动总结
2016/04/05 职场文书
如何用Laravel包含你自己的帮助函数
2021/05/27 PHP
Python 实现绘制子图及子图刻度的变换等问题
2021/05/31 Python