天天看點

python中通路lmdb

pip install 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()      
# -*- 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()      

讀取已有.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()