python lmdb demo 这接口和BDB一样恶心啊!
import lmdb lmdb_img_name = "test.lmdb"
env = lmdb.open(lmdb_img_name, map_size=1e6) with env.begin(write=True) as txn:
txn.put("key", "xxxxxxxxxxxxxxxxxx")
txn.put("key2", "?")
txn.put("key3", "some value")
#txn.commit()
env.close() env = lmdb.open(lmdb_img_name, readonly=True)
with env.begin() as txn:
print txn.get(b'key') cursor = txn.cursor()
for key, value in cursor:
print(key, value)
更多见:http://blog.csdn.net/ayst123/article/details/44077903,摘录如下:
write
db_img = lmdb.Environment(lmdb_img_name,map_size=int(1e12))
txn_img = db_img.begin(write=True,buffers=True)
datum_img = getImgDatum(img_path)
txn_img.put(key,datum_img.SerializeToString())
txn_img.commit()
db_img.close()
这里,先建立lmdb的instance, db_img。 然后开始txn(可能有很多个开始?)。 put 存放,最后一定注意要commit()。不然根本没有存进去,检查下生成的lmdb文件就能看出。最后,close()
这里生成datum是用caffe自带的函数,做io.py里,叫caffe.io.array_to_datum, 将array变成datum.
Note:
datum存的时候一定要用datum.SerializeToString(), 将它变成string()
分段write
for ind,obj in enumerate(list):
if ind%100=0:
txn.commit()
txn = env.begin(write=True)
txn.commit()
env.close()
每一次commit 后,需要再定义一次 txn=env.begin(write=True)
for loop 外面最后再 commit
Read
img_lmdb = imdb.open("name")
txn= img_lmdb.begin()
cursor = txn.cursor()
cursor.iternext()
key = cursor.key()
value = cursor.value()
datum = caffe_pb2.Datum()
datum.ParseFromString(value)
Note:
cursor 第一个是空的, iternext()后是第一个值
循环
txn = …
cursor = txn.cursor()
for ( idx, (key, value) ) in enumerate(cursor):
…………….
这就可以循环找了
python lmdb demo 这接口和BDB一样恶心啊!的更多相关文章
- 转载:python + requests实现的接口自动化框架详细教程
转自https://my.oschina.net/u/3041656/blog/820023 摘要: python + requests实现的接口自动化框架详细教程 前段时间由于公司测试方向的转型,由 ...
- python + requests实现的接口自动化框架详细教程
前段时间由于公司测试方向的转型,由原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测试,后来,组内有人讲原先web自动化的测试框架移驾成接口的自 ...
- python调用支付宝支付接口
python调用支付宝支付接口详细示例—附带Django demo代码 项目演示: 一.输入金额 二.跳转到支付宝付款 三.支付成功 四.跳转回自己网站 在使用支付宝接口的前期准备: 1.支付宝公 ...
- python+request+HTMLTestRunner+unittest接口自动化测试框架
转自https://my.oschina.net/u/3041656/blog/820023 正在调研使用python进行自动化测试,在网上发现一篇比较好的博文,作者使用的是python3,但目前自己 ...
- Python支付宝单笔转账接口
开发信息 接口加签方式为证书模式 证书模式好处是可以使用支付宝的转账到支付宝账户,也就是提现功能,公钥模式不能实现转账到支付宝账户. 此DEMO利用单笔转账到支付宝账户接口[提现功能]用户可以通过此D ...
- 什么是 WSGI -- Python 中的 “CGI” 接口简介
今天在 git.oschina 的首页上看到他们推出演示平台,其中,Python 的演示平台支持 WSGI 接口的应用.虽然,这个演示平台连它自己提供的示例都跑不起来,但是,它还是成功的勾起了我对 W ...
- python面向对象进阶 反射 单例模式 以及python实现类似java接口功能
本篇将详细介绍Python 类的成员.成员修饰符.类的特殊成员. 类的成员 类的成员可以分为三大类:字段.方法和特性. 注:所有成员中,只有普通字段的内容保存对象中,即:根据此类创建了多少对象,在内存 ...
- 戏说WSGI(Python Web服务网关接口)--[转载]
戏说WSGI(Python Web服务网关接口) 当你在Python的世界中冒险,突然遭遇一只Web怪兽,你会选择什么武器对付它?在兵器谱上,下列兵器可谓名列前茅: Zope,厚重的长枪.较早出现的武 ...
- Python 基于python实现的http接口自动化测试框架(含源码)
基于python实现的http+json协议接口自动化测试框架(含源码) by:授客 QQ:1033553122 欢迎加入软件性能测试交流 QQ群:7156436 由于篇幅问题,采用百度网 ...
随机推荐
- VMware 11安装Mac OS X 10.10 及安装Mac Vmware Tools.
先上一张效果图兴奋一下,博主穷屌丝一个,只能通过虚拟黑苹果体验下高富帅的生活,感觉超爽的,废话不多说的,直接上图了! 目录: 1.安装所需软件下载: 2.Mac OS X10.10 安装基本步骤: 3 ...
- (原创)HyperPacer使用技巧之集合点设置
版权声明:本文为原创文章,转载请先联系并标明出处 性能测试中,我们可以模拟最真实的用户操作来建立性能模型,但是这种模拟是相对的.譬如12306网站春运开始后每一天都是高峰,这种高负载情况会持续一至两个 ...
- illumina测序原理
一些常用基本概念的介绍: flowcell流动池 是指Illumina测序时,测序反应发生的位置,1个flowcell含有8条lane lane通道 每一个flowcell上都有8条泳道,用于测序反应 ...
- CAD从二制流数据中加载图形(com接口)
主要用到函数说明: _DMxDrawX::ReadBinStream 从二制流数据中加载图形,详细说明如下: 参数 说明 VARIANT varBinArray 二制流数据,是个byte数组 BSTR ...
- 移动端rem布局 js
// rem布局适配 (function(doc, win) { var docEl = doc.documentElement, resizeEvt = 'orientationchange' in ...
- c# winform中使用WebKit实现网页与winform的交互
1.工作 一年多了,一直没对自己在工作遇到的问题进行总结,每次遇到问题都要在网上找资料,导致完成项目之后,时间久了就会生疏.所以下定 决定总结自己在工作中遇到的各种问题. 进入正题:第一次写还请大神多 ...
- Oracle开发常用函数 max 最大数 自动加 1 的模式
create sequence bs_com_seq increment by 1 start with 1 minvalue 1 maxvalue 999999 cycle nocache orde ...
- 【数据结构】C语言栈的基本操作
#include<stdio.h> #include<stdlib.h> #include<malloc.h> //定义节点 struct Node { int d ...
- 匈牙利算法求最大匹配(HDU-4185 Oil Skimming)
如下图:要求最多可以凑成多少对对象 大佬博客: https://blog.csdn.net/cillyb/article/details/55511666 https://blog.csdn.net/ ...
- ionic使用cryptojs加密 复制到黏贴版 使用md5
npm install crypto-js npm install --save @types/crypto-js import * as crypto from "crypto-js&qu ...