最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python讀寫LMDB文件的方法

 更新時間:2018年07月02日 11:28:12   作者:Touch_Dream  
這篇文章主要為大家詳細介紹了python讀寫LMDB文件的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下

LMDB的全稱是Lightning Memory-Mapped Database(快如閃電的內存映射數據庫),它的文件結構簡單,包含一個數據文件和一個鎖文件:

LMDB文件可以同時由多個進程打開,具有極高的數據存取速度,訪問簡單,不需要運行單獨的數據庫管理進程,只要在訪問數據的代碼里引用LMDB庫,訪問時給文件路徑即可。

讓系統(tǒng)訪問大量小文件的開銷很大,而LMDB使用內存映射的方式訪問文件,使得文件內尋址的開銷非常小,使用指針運算就能實現。數據庫單文件還能減少數據集復制/傳輸過程的開銷。

在python中使用lmdb: linux中,可以使用指令‘pip install lmdb' 安裝lmdb包。

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爬蟲泛濫的解決方法詳解

    python爬蟲泛濫的解決方法詳解

    在本篇文章里小編給大家整理了關于python爬蟲泛濫的解決方法詳解內容,需要的朋友們可以學習參考下。
    2020-11-11
  • Python實現按照指定要求逆序輸出一個數字的方法

    Python實現按照指定要求逆序輸出一個數字的方法

    這篇文章主要介紹了Python實現按照指定要求逆序輸出一個數字的方法,涉及Python針對字符串的遍歷、判斷、輸出等相關操作技巧,需要的朋友可以參考下
    2018-04-04
  • 基于MATLAB和Python實現MFCC特征參數提取

    基于MATLAB和Python實現MFCC特征參數提取

    這篇文章主要介紹了基于MATLAB和Python實現MFCC特征參數提取,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • python pyppeteer 破解京東滑塊功能的代碼

    python pyppeteer 破解京東滑塊功能的代碼

    這篇文章主要介紹了python pyppeteer 破解京東滑塊功能的代碼,代碼簡單易懂,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • 用python實現打磚塊小游戲

    用python實現打磚塊小游戲

    這篇文章主要為大家詳細介紹了用python實現打磚塊小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Python實現在圖像中隱藏二維碼的方法詳解

    Python實現在圖像中隱藏二維碼的方法詳解

    隱寫是一種類似于加密卻又不同于加密的技術。這篇文章主要介紹了如何利用Python語言實現在圖像中隱藏二維碼功能,感興趣的可以了解一下
    2022-09-09
  • python?序列去重并保持原始順序操作

    python?序列去重并保持原始順序操作

    這篇文章主要介紹了python序列去重并保持原始順序操作,文章圍繞了python?序列去重的相關資料展開詳細介紹,需要的小伙伴可以參考一下,希望對你的有所幫助
    2022-03-03
  • Python開發(fā)最牛逼的IDE——pycharm

    Python開發(fā)最牛逼的IDE——pycharm

    這篇文章給大家介紹了Python開發(fā)最牛逼的IDE——pycharm,主要是介紹python IDE pycharm的安裝與使用教程,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧
    2018-08-08
  • Python有序查找算法之二分法實例分析

    Python有序查找算法之二分法實例分析

    這篇文章主要介紹了Python有序查找算法之二分法,結合實例形式分析了Python二分查找算法的原理與相關實現技巧,需要的朋友可以參考下
    2017-12-12
  • 關于數據分析Pandas的Series用法總結

    關于數據分析Pandas的Series用法總結

    這篇文章主要介紹了關于數據分析Pandas的Series用法總結,Series序列,是一種一維的結構,類似于一維列表和ndarray中的一維數組,但是功能比他們要更為強大,Series由兩部分組成:索引index和數值values,本篇對其用法做出總結
    2023-07-07

最新評論

隆林| 屏山县| 桐庐县| 建瓯市| 当阳市| 织金县| 麻江县| 三江| 彭山县| 合川市| 微山县| 康平县| 龙游县| 鄂托克前旗| 南陵县| 花莲县| 汝阳县| 巨鹿县| 思南县| 鄂州市| 海伦市| 恩平市| 拜城县| 讷河市| 织金县| 蓝田县| 大洼县| 泰和县| 青冈县| 宁武县| 马鞍山市| 香格里拉县| 南华县| 深水埗区| 连城县| 崇义县| 长宁区| 临桂县| 奉化市| 白河县| 泗阳县|