国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

如何用Python合并lmdb文件

2020-02-15 22:08:22
字體:
來源:轉載
供稿:網友

由于Caffe使用的存儲圖像的數據庫是lmdb,因此有時候需要對lmdb文件進行操作,本文主要講解如何用Python合并lmdb文件。沒有lmdb支持的,需要用pip命令安裝。

pip install lmdb

代碼及注釋如下:

# coding=utf-8# filename: merge_lmdb.pyimport lmdb# 將兩個lmdb文件合并成一個新的lmdbdef merge_lmdb(lmdb1, lmdb2, result_lmdb):  print 'Merge start!'  # env代表Environment, txn代表Transaction  # 打開lmdb文件,讀模式  env_1 = lmdb.open(lmdb1)  env_2 = lmdb.open(lmdb2)  # 創建事務  txn_1 = env_1.begin()  txn_2 = env_2.begin()  # 打開數據庫  database_1 = txn_1.cursor()  database_2 = txn_2.cursor()  # 打開lmdb文件,寫模式,  env_3 = lmdb.open(result_lmdb, map_size=int(1e12))  txn_3 = env_3.begin(write=True)  count = 0  # 遍歷數據庫  for (key, value) in database_1:    # 將數據放到結果數據庫事務中    txn_3.put(key, value)    count++    if(count % 1000 == 0):      # 將數據寫入數據庫,必須的,否則數據不會寫入到數據庫中      txn_3.commit()      count = 0      txn_3 = env_3.begin(write=True)  if(count % 1000 != 0):    txn_3.commit()    count = 0    txn_3 = env_3.begin(write=True)  for (key, value) in database_2:    txn_3.put(key, value)    if(count % 1000 == 0):      txn_3.commit()      count = 0      txn_3 = env_3.begin(write=True)  if(count % 1000 != 0):    txn_3.commit()    count = 0    txn_3 = env_3.begin(write=True)  # 關閉lmdb  env_1.close()  env_2.close()  env_3.close()  print 'Merge success!'  # 輸出結果lmdb的狀態信息,可以看到數據是否合并成功  print env_3.stat()def main():  fr = open('lmdb.txt')  # lmdb1的目錄  lmdb1 = fr.readline().strip()  # lmdb2的目錄  lmdb2 = fr.readline().strip()  # result lmdb的目錄  result_lmdb = fr.readline().strip()  fr.close()  merge_lmdb(lmdb1, lmdb2, result_lmdb)if __name__ == '__main__':  main()

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林站長站。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 布尔津县| 夏河县| 永登县| 分宜县| 霸州市| 顺平县| 赤壁市| 浮山县| 囊谦县| 桃江县| 红原县| 工布江达县| 乌恰县| 唐河县| 甘孜县| 大邑县| 邵阳县| 沅陵县| 新密市| 沙坪坝区| 陈巴尔虎旗| 佛山市| 克山县| 古浪县| 德州市| 望谟县| 邵武市| 南靖县| 阳山县| 丽江市| 屯门区| 新晃| 兴海县| 北川| 莎车县| 周宁县| 阿拉善左旗| 卓尼县| 河北省| 平阳县| 利津县|