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使用htmllib分析网页内容的方法
May 08 Python
浅谈python中的面向对象和类的基本语法
Jun 13 Python
Python 3.x 连接数据库示例(pymysql 方式)
Jan 19 Python
Python将多个excel文件合并为一个文件
Jan 03 Python
用python实现的线程池实例代码
Jan 06 Python
python中csv文件的若干读写方法小结
Jul 04 Python
Python实战购物车项目的实现参考
Feb 20 Python
python 利用浏览器 Cookie 模拟登录的用户访问知乎的方法
Jul 11 Python
python递归下载文件夹下所有文件
Aug 31 Python
Python如何访问字符串中的值
Feb 09 Python
如何实现在jupyter notebook中播放视频(不停地展示图片)
Apr 23 Python
python 无损批量压缩图片(支持保留图片信息)的示例
Sep 22 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
Ajax+PHP 边学边练之四 表单
2009/11/27 PHP
ThinkPHP CURD方法之data方法详解
2014/06/18 PHP
php结合mysql与mysqli扩展处理事务的方法
2016/06/29 PHP
thinkPHP+phpexcel实现excel报表输出功能示例
2017/06/06 PHP
js中的string.format函数代码
2020/08/11 Javascript
JQuery操作Select的Options的Bug(IE8兼容性视图模式)
2013/04/21 Javascript
JavaScript严格模式禁用With语句的原因
2014/10/20 Javascript
浅谈JavaScript中的对象及Promise对象的实现
2015/11/15 Javascript
原生javascript实现匀速运动动画效果
2016/02/26 Javascript
8 行 Node.js 代码实现代理服务器
2016/12/05 Javascript
详解js中常规日期格式处理、月历渲染和倒计时函数
2016/12/28 Javascript
正则 js分转元带千分符号详解
2017/03/08 Javascript
Underscore之Array_动力节点Java学院整理
2017/07/10 Javascript
js微信分享实现代码
2020/10/11 Javascript
vue里input根据value改变背景色的实例
2018/09/29 Javascript
React如何解决fetch跨域请求时session失效问题
2018/11/02 Javascript
详解如何在vscode里面调试js和node.js的方法步骤
2018/12/24 Javascript
用npm-run实现自动化任务的方法示例
2019/01/14 Javascript
React+TypeScript+webpack4多入口配置详解
2019/08/08 Javascript
layui+jquery支持IE8的表格分页方法
2019/09/28 jQuery
python正则表达式re模块详解
2014/06/25 Python
基于Python实现的百度贴吧网络爬虫实例
2015/04/17 Python
Python编程实现两个文件夹里文件的对比功能示例【包含内容的对比】
2017/06/20 Python
python 中的divmod数字处理函数浅析
2017/10/17 Python
Python基于Tkinter模块实现的弹球小游戏
2018/12/27 Python
python利用selenium进行浏览器爬虫
2019/04/25 Python
Python实现决策树并且使用Graphviz可视化的例子
2019/08/09 Python
PyTorch中model.zero_grad()和optimizer.zero_grad()用法
2020/06/24 Python
python使用建议与技巧分享(二)
2020/08/17 Python
电气技术员岗位职责
2013/11/19 职场文书
离婚协议书范本(2014版)
2014/09/28 职场文书
2015年政协委员工作总结
2015/05/20 职场文书
2016个人先进事迹材料范文
2016/03/01 职场文书
vue实现可拖拽的dialog弹框
2021/05/13 Vue.js
小程序实现筛子抽奖
2021/05/26 Javascript
JVM的类加载器和双亲委派模式你了解吗
2022/03/13 Java/Android