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 相关文章推荐
python3+PyQt5实现柱状图
Apr 24 Python
对python插入数据库和生成插入sql的示例讲解
Nov 14 Python
Python3解释器知识点总结
Feb 19 Python
pyqt 实现在Widgets中显示图片和文字的方法
Jun 13 Python
Python turtle库绘制菱形的3种方式小结
Nov 23 Python
django框架forms组件用法实例详解
Dec 10 Python
Python爬取腾讯视频评论的思路详解
Dec 19 Python
Python PIL库图片灰化处理
Apr 07 Python
Python虚拟环境venv用法详解
May 25 Python
Python代码中如何读取键盘录入的值
May 27 Python
用python批量移动文件
Jan 14 Python
python 将Excel转Word的示例
Mar 02 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
根德Grundig S400/S500/S700电路分析
2021/03/02 无线电
LotusPhp笔记之:Logger组件的使用方法
2013/05/06 PHP
PHP实现读取一个1G的文件大小
2013/08/24 PHP
学习php过程中的一些注意点的总结
2013/10/25 PHP
php中spl_autoload详解
2014/10/17 PHP
配置eAccelerator和XCache扩展来加速PHP程序的执行
2015/12/22 PHP
php结合md5实现的加密解密方法
2016/01/25 PHP
动态控制Table的js代码
2007/03/07 Javascript
js使浏览器窗口最大化实现代码(适用于IE)
2013/08/07 Javascript
文本域光标操作的jQuery扩展分享
2014/03/10 Javascript
jQuery实现购物车计算价格功能的方法
2015/03/25 Javascript
JS实现可点击展开与关闭的左侧广告代码
2015/09/02 Javascript
Vue概念及常见命令介绍(1)
2016/12/08 Javascript
使用Promise链式调用解决多个异步回调的问题
2017/01/15 Javascript
vue双向数据绑定原理探究(附demo)
2017/01/17 Javascript
jquery实现静态搜索功能(可输入搜索文字)
2017/03/28 jQuery
ztree实现权限横向显示功能
2017/05/20 Javascript
详解如何在vue项目中引入elementUI组件
2018/02/11 Javascript
jQuery实现通过方向键控制div块上下左右移动的方法【测试可用】
2018/04/26 jQuery
小程序实现分类页
2019/07/12 Javascript
three.js着色器材质的内置变量示例详解
2020/08/16 Javascript
vue-cli脚手架的.babelrc文件用法说明
2020/09/11 Javascript
Angular处理未可知异常错误的方法详解
2021/01/17 Javascript
python中pycurl库的用法实例
2014/09/30 Python
python函数局部变量用法实例分析
2015/08/04 Python
Python实现简易端口扫描器代码实例
2017/03/15 Python
python2.7实现FTP文件下载功能
2018/04/15 Python
Python过滤txt文件内重复内容的方法
2018/10/21 Python
Python实现查找字符串数组最长公共前缀示例
2019/03/27 Python
python中adb有什么功能
2020/06/07 Python
Python如何实现机器人聊天
2020/09/10 Python
教师岗位职责
2013/11/17 职场文书
个人素质的自我评价分享
2013/12/16 职场文书
2014年信访工作总结
2014/11/17 职场文书
2016优秀班主任个人先进事迹材料
2016/02/26 职场文书
python Django框架快速入门教程(后台管理)
2021/07/21 Python