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对字典进行排序实例
Sep 25 Python
python Django批量导入数据
Mar 25 Python
python僵尸进程产生的原因
Jul 21 Python
python爬虫系列Selenium定向爬取虎扑篮球图片详解
Nov 15 Python
基于Python的文件类型和字符串详解
Dec 21 Python
python requests 库请求带有文件参数的接口实例
Jan 03 Python
对Python强大的可变参数传递机制详解
Jun 13 Python
python变量的存储原理详解
Jul 10 Python
Python基于DB-API操作MySQL数据库过程解析
Apr 23 Python
Selenium元素定位的30种方式(史上最全)
May 11 Python
python实现取余操作的简单实例
Aug 16 Python
python+opencv实现目标跟踪过程
Jun 21 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里的JS打印函数
2006/10/09 PHP
php读取二进制流(C语言结构体struct数据文件)的深入解析
2013/06/13 PHP
php递归获取目录内文件(包含子目录)封装类分享
2013/12/25 PHP
PHP判断远程图片是否存在的几种方法
2014/05/04 PHP
php实现的RSS生成类实例
2015/04/23 PHP
常见PHP数据库解决方案分析介绍
2015/09/24 PHP
yii2框架中使用下拉菜单的自动搜索yii-widget-select2实例分析
2016/01/09 PHP
PHP7.1方括号数组符号多值复制及指定键值赋值用法分析
2016/09/26 PHP
highchart数据源纵轴json内的值必须是int(详解)
2017/02/20 PHP
laravel 实现划分admin和home 模块分组
2019/10/15 PHP
30个最好的jQuery 灯箱插件分享
2011/04/25 Javascript
打开新窗口关闭当前页面不弹出关闭提示js代码
2013/03/18 Javascript
javascript动态控制服务器控件实例
2014/09/05 Javascript
JQuery的Ajax中Post方法传递中文出现乱码的解决方法
2014/10/21 Javascript
jQuery中:header选择器用法实例
2014/12/29 Javascript
JavaScript实现单击下拉框选择直接跳转页面的方法
2015/07/02 Javascript
javascript实现简单的on事件绑定
2016/08/23 Javascript
jQuery实现带遮罩层效果的blockUI弹出层示例【附demo源码下载】
2016/09/14 Javascript
knockoutjs模板实现树形结构列表
2017/07/31 Javascript
Node.js中出现未捕获异常的处理方法
2020/06/29 Javascript
python做量化投资系列之比特币初始配置
2018/01/23 Python
判断python字典中key是否存在的两种方法
2018/08/10 Python
python实现推箱子游戏
2020/03/25 Python
对python中GUI,Label和Button的实例详解
2019/06/27 Python
Python DataFrame一列拆成多列以及一行拆成多行
2019/08/06 Python
使用TensorFlow搭建一个全连接神经网络教程
2020/02/06 Python
PyQt5 QDockWidget控件应用详解
2020/08/12 Python
phonegap常用事件总结(必看篇)
2017/03/31 HTML / CSS
英国网上香水店:Fragrance Direct
2016/07/20 全球购物
纽约的奢华内衣店:Journelle
2016/07/29 全球购物
个人工作表现评价材料
2014/09/21 职场文书
党支部半年考察意见
2015/06/01 职场文书
委托开发合同书(标准版)
2019/08/07 职场文书
python中如何对多变量连续赋值
2021/06/03 Python
MySQL分库分表详情
2021/09/25 MySQL
nginx负载功能+nfs服务器功能解析
2022/02/28 Servers