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笔记(1) 关于我们应不应该继续学习python
Oct 24 Python
python实现监控linux性能及进程消耗性能的方法
Jul 25 Python
python 排序算法总结及实例详解
Sep 28 Python
Python入门_浅谈数据结构的4种基本类型
May 16 Python
在python中bool函数的取值方法
Nov 01 Python
详解Python中的各种转义符\n\r\t
Jul 10 Python
tensorflow求导和梯度计算实例
Jan 23 Python
PyTorch笔记之scatter()函数的使用
Feb 12 Python
Python如何优雅删除字符列表空字符及None元素
Jun 25 Python
Python 制作查询商品历史价格的小工具
Oct 20 Python
基于python实现银行管理系统
Apr 20 Python
Python基础之元编程知识总结
May 23 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 第二节 数据类型之数组
2012/04/28 PHP
php中如何防止表单的重复提交
2013/08/02 PHP
采用thinkphp自带方法生成静态html文件详解
2014/06/13 PHP
php实现的一个简单json rpc框架实例
2015/03/30 PHP
PHP 中 Orientation 属性判断上传图片是否需要旋转
2015/10/16 PHP
PHP实现数组转JSon和JSon转数组的方法示例
2018/06/14 PHP
Laravel中的chunk组块结果集处理与注意问题
2018/08/15 PHP
使用Entrust扩展包在laravel 中实现RBAC的功能
2020/03/16 PHP
利用PHP内置SERVER开启web服务(本地开发使用)
2021/03/09 PHP
PHP 出现 http500 错误的解决方法
2021/03/09 PHP
javascript编程起步(第五课)
2007/01/10 Javascript
javascript移出节点removeChild()使用介绍
2014/04/03 Javascript
jquery学习总结(超级详细)
2014/09/04 Javascript
Angular.js回顾ng-app和ng-model使用技巧
2016/04/26 Javascript
JS图片定时翻滚效果实现方法
2016/06/21 Javascript
jQuery实现可拖动进度条实例代码
2017/06/21 jQuery
Vue组件中slot的用法
2018/01/30 Javascript
详解element-ui设置下拉选择切换必填和非必填
2019/06/17 Javascript
node实现爬虫的几种简易方式
2019/08/22 Javascript
node-red File读取好保存实例讲解
2019/09/11 Javascript
weui上传多图片,压缩,base64编码的示例代码
2020/06/22 Javascript
Antd下拉选择,自动匹配功能的实现
2020/10/24 Javascript
python实现端口转发器的方法
2015/03/13 Python
Python解决抛小球问题 求小球下落经历的距离之和示例
2018/02/01 Python
Python文件如何引入?详解引入Python文件步骤
2018/12/10 Python
python读取.mat文件的数据及实例代码
2019/07/12 Python
python实现UDP协议下的文件传输
2020/03/20 Python
Pycharm配置PyQt5环境的教程
2020/04/02 Python
使用pytorch实现论文中的unet网络
2020/06/24 Python
在终端启动Python时报错的解决方案
2020/11/20 Python
天美时手表加拿大官网:Timex加拿大
2016/09/01 全球购物
Lampegiganten丹麦:欧洲领先的照明网上商店
2018/04/25 全球购物
GUESS Factory加拿大:牛仔裤、服装及配饰
2019/09/20 全球购物
自考毕业生自我鉴定
2013/11/04 职场文书
空中乘务员岗位职责
2014/03/08 职场文书
jackson json序列化实现首字母大写,第二个字母需小写
2021/06/29 Java/Android