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采用getopt解析命令行输入参数实例
Sep 30 Python
python3新特性函数注释Function Annotations用法分析
Jul 28 Python
Python3数据库操作包pymysql的操作方法
Jul 16 Python
对numpy中的where方法嵌套使用详解
Oct 31 Python
Python自定义一个类实现字典dict功能的方法
Jan 19 Python
Python这样操作能存储100多万行的xlsx文件
Apr 16 Python
python区分不同数据类型的方法
Oct 14 Python
Python pandas RFM模型应用实例详解
Nov 20 Python
Django2 连接MySQL及model测试实例分析
Dec 10 Python
PyQt5 如何让界面和逻辑分离的方法
Mar 24 Python
基于PyQT实现区分左键双击和单击
May 19 Python
什么是python的必选参数
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
屏蔽浏览器缓存另类方法
2006/10/09 PHP
PHP中spl_autoload_register函数的用法总结
2013/11/07 PHP
PHP实现服务器状态监控的方法
2014/12/09 PHP
php获取、检查类名、函数名、方法名的函数方法
2015/06/25 PHP
WordPress中查询文章的循环Loop结构及用法分析
2015/12/17 PHP
php如何实现不借助IDE快速定位行数或者方法定义的文件和位置
2017/01/17 PHP
js实现ASP分页函数 HTML分页函数
2006/09/22 Javascript
Angular外部使用js调用Angular控制器中的函数方法或变量用法示例
2016/08/05 Javascript
jquery实现input框获取焦点的简单实例
2017/01/26 Javascript
JavaScript学习笔记之函数记忆
2017/09/06 Javascript
ES6中Array.includes()函数的用法
2017/09/20 Javascript
深入理解Vue nextTick 机制
2018/04/28 Javascript
angular 实现的输入框数字千分位及保留几位小数点功能示例
2018/06/19 Javascript
webpack 开发和生产并行设置的方法
2018/11/08 Javascript
jQuery实现侧边栏隐藏与显示的方法详解
2018/12/22 jQuery
微信小程序—setTimeOut定时器的问题及解决
2019/07/26 Javascript
javascript实现点亮灯泡特效示例
2019/10/15 Javascript
js实现批量删除功能
2020/08/27 Javascript
JavaScript中常用的3种弹出提示框(alert、confirm、prompt)
2020/11/10 Javascript
python 域名分析工具实现代码
2009/07/15 Python
python 数据的清理行为实例详解
2017/07/12 Python
Python内置函数——__import__ 的使用方法
2017/11/24 Python
Python实现冒泡排序的简单应用示例
2017/12/11 Python
python实现txt文件格式转换为arff格式
2018/05/31 Python
mac安装scrapy并创建项目的实例讲解
2018/06/13 Python
Django框架实现逆向解析url的方法
2018/07/04 Python
Python使用循环神经网络解决文本分类问题的方法详解
2020/01/16 Python
python中Pexpect的工作流程实例讲解
2021/03/02 Python
HTML里显示pdf、word、xls、ppt的方法示例
2020/04/14 HTML / CSS
英国在线定做百叶窗网站:Make My Blinds
2020/08/17 全球购物
个人社会实践自我鉴定
2014/03/24 职场文书
汽车机电维修工求职信
2014/09/30 职场文书
详解Html5项目适配系统深色模式方案总结
2021/04/14 HTML / CSS
Django实现在线无水印抖音视频下载(附源码及地址)
2021/05/06 Python
使用numpy实现矩阵的翻转(flip)与旋转
2021/06/03 Python
Java中的Kafka为什么性能这么快及4大核心详析
2022/09/23 Java/Android