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数据处理
May 02 Python
Python视频爬虫实现下载头条视频功能示例
May 07 Python
关于django 数据库迁移(migrate)应该知道的一些事
May 27 Python
Python异常处理操作实例详解
Aug 28 Python
Windows 8.1 64bit下搭建 Scrapy 0.22 环境
Nov 18 Python
用Python将结果保存为xlsx的方法
Jan 28 Python
使用 python pyautogui实现鼠标键盘控制功能
Aug 04 Python
你还在@微信官方?聊聊Python生成你想要的微信头像
Sep 25 Python
基于python traceback实现异常的获取与处理
Dec 13 Python
Python ArgumentParse的subparser用法说明
Apr 20 Python
Pandas之read_csv()读取文件跳过报错行的解决
Apr 21 Python
tensorflow模型文件(ckpt)转pb文件的方法(不知道输出节点名)
Apr 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
PHP对象相关知识总结
2017/04/09 PHP
PHP 网站修改默认访问文件的nginx配置
2017/05/27 PHP
JavaScript把数组作为堆栈使用的方法
2015/03/20 Javascript
jQuery插件zepto.js简单实现tab切换
2015/06/16 Javascript
js实现横向伸展开的二级导航菜单代码
2015/08/28 Javascript
jQuery实现的分子运动小球碰撞效果
2016/01/27 Javascript
JavaScript统计字符串中每个字符出现次数完整实例
2016/01/28 Javascript
理解javascript定时器中的setTimeout与setInterval
2016/02/23 Javascript
javascript 中Cookie读、写与删除操作
2017/03/29 Javascript
ionic2打包android时gradle无法下载的解决方法
2017/04/05 Javascript
PHP7新特性简述
2017/06/11 Javascript
JS简单添加元素新节点的方法示例
2018/02/10 Javascript
AngularJS实现的base64编码与解码功能示例
2018/05/17 Javascript
JS逻辑运算符短路操作实例分析
2018/07/09 Javascript
JavaScript基础教程之如何实现一个简单的promise
2018/09/11 Javascript
JavaScript自动生成 年月范围 选择功能完整示例【基于jQuery插件】
2019/09/03 jQuery
js 闭包深入理解与实例分析
2020/03/19 Javascript
一个简单的python程序实例(通讯录)
2013/11/29 Python
python处理xml文件的方法小结
2017/05/02 Python
Python2实现的LED大数字显示效果示例
2017/09/04 Python
Python实现将doc转化pdf格式文档的方法
2018/01/19 Python
浅谈python可视化包Bokeh
2018/02/07 Python
启动Atom并运行python文件的步骤
2018/11/09 Python
Python中作用域的深入讲解
2018/12/10 Python
Python将主机名转换为IP地址的方法
2019/08/14 Python
python Kmeans算法原理深入解析
2019/08/23 Python
python  logging日志打印过程解析
2019/10/22 Python
Anaconda+Pycharm环境下的PyTorch配置方法
2020/03/13 Python
纯CSS3+DIV实现小三角形边框效果的示例代码
2020/08/03 HTML / CSS
联想美国官方商城:Lenovo美国
2017/06/19 全球购物
爱我中华教学反思
2014/04/28 职场文书
总经理人事任命书
2014/06/05 职场文书
学校食品安全实施方案
2014/06/14 职场文书
2014年机关作风建设工作总结
2014/10/23 职场文书
人为什么会“幸灾乐祸”?
2019/08/06 职场文书
微信小程序scroll-view不能左右滑动问题的解决方法
2021/07/09 Javascript