亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何用Python合并lmdb文件

發布時間:2020-09-13 01:28:28 來源:腳本之家 閱讀:176 作者:SnailTyan 欄目:開發技術

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

pip install lmdb

代碼及注釋如下:

# coding=utf-8
# filename: merge_lmdb.py

import lmdb

# 將兩個lmdb文件合并成一個新的lmdb
def 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()

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南通市| 大冶市| 黄龙县| 峨山| 育儿| 武隆县| 余干县| 靖远县| 南充市| 乌苏市| 明水县| 台山市| 林西县| 周宁县| 腾冲县| 长岭县| 柞水县| 吕梁市| 肃宁县| 调兵山市| 汉沽区| 河北区| 甘德县| 银川市| 泾阳县| 卢氏县| 普兰店市| 道真| 樟树市| 壶关县| 鹤庆县| 应城市| 吐鲁番市| 宜州市| 玉屏| 兰考县| 革吉县| 太和县| 江门市| 施秉县| 恭城|