国产探花免费观看_亚洲丰满少妇自慰呻吟_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()

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 三台县| 阿鲁科尔沁旗| 阜宁县| 子长县| 额尔古纳市| 修武县| 炎陵县| 宽城| 佛山市| 镇赉县| 五家渠市| 新民市| 高安市| 江山市| 兴文县| 宝清县| 安徽省| 白城市| 民县| 封开县| 英吉沙县| 宁津县| 南靖县| 盐山县| 陆良县| 溧阳市| 修武县| 孟津县| 比如县| 织金县| 西盟| 西充县| 当阳市| 天津市| 仁布县| 天门市| 龙海市| 长汀县| 和平县| 修文县| 紫云|