Python LMDB庫(kù)的使用示例
linux中,可以使用指令
pip install lmdb
安裝lmdb包。
----
lmdb 數(shù)據(jù)庫(kù)文件生成 增 改 刪 查1、生成一個(gè)空的lmdb數(shù)據(jù)庫(kù)文件# -*- coding: utf-8 -*-import lmdb# 如果train文件夾下沒有data.mbd或lock.mdb文件,則會(huì)生成一個(gè)空的,如果有,不會(huì)覆蓋# map_size定義最大儲(chǔ)存容量,單位是kb,以下定義1TB容量env = lmdb.open('./train',map_size=1099511627776)env.close()2、LMDB數(shù)據(jù)的添加、修改、刪除
# -*- coding: utf-8 -*-import lmdb# map_size定義最大儲(chǔ)存容量,單位是kb,以下定義1TB容量env = lmdb.open('./train', map_size=1099511627776)txn = env.begin(write=True)# 添加數(shù)據(jù)和鍵值txn.put(key = ’1’, value = ’aaa’)txn.put(key = ’2’, value = ’bbb’)txn.put(key = ’3’, value = ’ccc’) # 通過鍵值刪除數(shù)據(jù)txn.delete(key = ’1’) # 修改數(shù)據(jù)txn.put(key = ’3’, value = ’ddd’) # 通過commit()函數(shù)提交更改txn.commit()env.close()3、查詢LMDB數(shù)據(jù)庫(kù)
# -*- coding: utf-8 -*-import lmdb env = lmdb.open('./train') # 參數(shù)write設(shè)置為True才可以寫入txn = env.begin(write=True)############################################添加、修改、刪除數(shù)據(jù) # 添加數(shù)據(jù)和鍵值txn.put(key = ’1’, value = ’aaa’)txn.put(key = ’2’, value = ’bbb’)txn.put(key = ’3’, value = ’ccc’) # 通過鍵值刪除數(shù)據(jù)txn.delete(key = ’1’) # 修改數(shù)據(jù)txn.put(key = ’3’, value = ’ddd’) # 通過commit()函數(shù)提交更改txn.commit()############################################查詢lmdb數(shù)據(jù)txn = env.begin() # get函數(shù)通過鍵值查詢數(shù)據(jù)print txn.get(str(2)) # 通過cursor()遍歷所有數(shù)據(jù)和鍵值for key, value in txn.cursor(): print (key, value) ############################################env.close()4. 讀取已有.mdb文件內(nèi)容
# -*- coding: utf-8 -*-import lmdb env_db = lmdb.Environment(’trainC’)# env_db = lmdb.open('./trainC') txn = env_db.begin() # get函數(shù)通過鍵值查詢數(shù)據(jù),如果要查詢的鍵值沒有對(duì)應(yīng)數(shù)據(jù),則輸出Noneprint txn.get(str(200)) for key, value in txn.cursor(): #遍歷 print (key, value) env_db.close()
以上就是Python LMDB庫(kù)的使用示例的詳細(xì)內(nèi)容,更多關(guān)于Python LMDB庫(kù)的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. 在Android中使用WebSocket實(shí)現(xiàn)消息通信的方法詳解2. python matplotlib:plt.scatter() 大小和顏色參數(shù)詳解3. Yii2.0引入CSS,JS文件方法4. JSP數(shù)據(jù)交互實(shí)現(xiàn)過程解析5. Python importlib動(dòng)態(tài)導(dǎo)入模塊實(shí)現(xiàn)代碼6. vue使用webSocket更新實(shí)時(shí)天氣的方法7. 淺談python出錯(cuò)時(shí)traceback的解讀8. android studio 打包自動(dòng)生成版本號(hào)與日期,apk輸入路徑詳解9. Nginx+php配置文件及原理解析10. JavaMail 1.4 發(fā)布
