Python LMDB库的使用示例

 更新时间:2021年02月14日 14:47:51   作者:只言片语  
这篇文章主要介绍了Python LMDB库的使用示例,帮助大家更好的利用python处理数据库,感兴趣的朋友可以了解下

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发送邮件

    这篇文章主要介绍了如何利用python发送邮件,帮助大家更好的理解和学习python,感兴趣的朋友可以了解下
    2020-09-09
  • python实现名片管理系统项目

    python实现名片管理系统项目

    这篇文章主要为大家详细介绍了python实现名片管理系统项目,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-04-04
  • Django多数据库配置及逆向生成model教程

    Django多数据库配置及逆向生成model教程

    这篇文章主要介绍了Django多数据库配置及逆向生成model教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • Python入门教程(八)PythonCasting用法

    Python入门教程(八)PythonCasting用法

    这篇文章主要介绍了Python入门教程(八)PythonCasting用法,Python是一门非常强大好用的语言,也有着易上手的特性,本文为入门教程,需要的朋友可以参考下
    2023-04-04
  • 使用python实现画AR模型时序图

    使用python实现画AR模型时序图

    今天小编就为大家分享一篇使用python实现画AR模型时序图,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • Python OpenCV 使用滑动条来调整函数参数的方法

    Python OpenCV 使用滑动条来调整函数参数的方法

    这篇文章主要介绍了Python OpenCV 使用滑动条来调整函数参数的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Python OpenCV直方图均衡化详解

    Python OpenCV直方图均衡化详解

    本文中将介绍如何使用OpenCV函数执行直方图均衡,并将其应用于灰度和彩色图像,以及将亮度归一化并提高图像的对比度。感兴趣的小伙伴可以了解一下
    2022-02-02
  • python多进程日志以及分布式日志的实现方式

    python多进程日志以及分布式日志的实现方式

    这篇文章主要介绍了python多进程日志以及分布式日志的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • Python中用append()连接后多出一列Unnamed的解决

    Python中用append()连接后多出一列Unnamed的解决

    Python中用append()连接后多出一列Unnamed的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • python3 正则表达式基础廖雪峰

    python3 正则表达式基础廖雪峰

    正则表达式是一种用来匹配字符串的强有力的武器。它的设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,我们就认为它“匹配”了,否则,该字符串就是不合法的
    2020-03-03

最新评论