Python LMDB的使用

Posted 只言片语

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python LMDB的使用相关的知识,希望对你有一定的参考价值。

在python中使用lmdb

linux中,可以使用指令

pip install lmdb

安装lmdb包。

----

  1. lmdb 数据库文件生成
  2. 增 改 删
  3. 查 

 

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()

 

参考:

https://blog.csdn.net/dcrmg/article/details/79144507

https://www.cnblogs.com/houjun/p/10484945.html

 

以上是关于Python LMDB的使用的主要内容,如果未能解决你的问题,请参考以下文章

python LMDB 大型数据库(内存限制错误)

Python操作SQLite/MySQL/LMDB

用Python学习Caffe3. 图像训练测试数据集LMDB的生成

python lmdb demo 这接口和BDB一样恶心啊!

python将矩阵存为lmdb文件

python将矩阵存为lmdb文件