Python读写LMDB文件
LMDB的全称是Lightning Memory-Mapped Database,它的文件结构简单,包含一个数据文件和一个锁文件。
LMDB文件可以同时由多个进程打开,具有极高的数据存取速度,访问简单,不需要运行单独的数据库管理进程,只要在访问数据的代码里引用LMDB库,访问时给文件路径即可。
让系统访问大量小文件的开销很大,而LMDB使用内存映射的方式访问文件,使得文件内寻址的开销非常小,使用指针运算就能实现。数据库单文件还能减少数据集复制/传输过程的开销。
在python中使用lmdb: linux中,可以使用指令‘pip install lmdb’ 安装lmdb包。
1. 生成一个空的lmdb数据库文件
import lmdb # 如果train文件夹下没有data.mbd或lock.mdb文件,则会生成一个空的,如果有,不会覆盖
# map_size定义最大储存容量,单位是kb,以下定义1TB容量
env = lmdb.open("./train",map_size=1099511627776)
env.close()
2. LMDB数据的添加、修改、删除
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数据库内容
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. 读取已有lmdb文件内容
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读写LMDB文件相关推荐
- python读写压缩文件使用gzip和bz2
python读写压缩文件使用gzip和bz2 #读取压缩文件 # gzip compression import gzip with gzip.open('somefile.gz', 'rt') as ...
- python读取csv文件的方法-python读写csv文件的方法
1.爬取豆瓣top250书籍 import requests import json import csv from bs4 import BeautifulSoup books = [] def b ...
- python处理excel教程实例-python 读写excel文件操作示例【附源码下载】
本文实例讲述了python 读写excel文件操作.分享给大家供大家参考,具体如下: 对excel文件的操作,python有第三方的工具包支持,xlutils,在这个工具包中包含了xlrd,xlwt等 ...
- csv 字符串_爬虫|python读写csv文件的方法完成生涯规划表
前面用PrettyTable制作了生涯规划表,今天突然想到其实可以用Python读写Excel文件,还可以制作Excel表格,相对而言,感觉csv的读写更简单,所以决定用csv改写生涯规划案例,以后教 ...
- Python读写docx文件(三十五)
Python读写docx文件 Python读写word文档有现成的库可以处理 pip install python-docx安装一下. https://python-docx.readthedocs. ...
- 三十一、Python读写docx文件
@Author:Runsen 文章目录 Python读写docx文件 Python读写docx文件 Python读写word文档有现成的库可以处理 pip install python-docx安装一 ...
- python读csv最快方法_使用Python读写csv文件的三种方法
Python读写csv文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 前言 逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是 ...
- python读写ini文件的库支持unicode_Python读写unicode文件的方法
本文实例讲述了Python读写unicode文件的方法.分享给大家供大家参考.具体实现方法如下: #coding=utf-8 import os import codecs def writefile ...
- python更新excel内容_[原创]使用 Python 读写 Excel 文件(一)更新
项目要求 如果说是 Office 办公软件使得 Windows 成为主流的操作系统,那么 Excel 就是使得微软硬起来的法宝! Word 和 PowerPoint 都有不相上下的对手,但 Excel ...
- python暴力破解excel_使用 Python 读写 Excel 文件(一)
项目要求 如果说是 Office 办公软件使得 Windows 成为主流的操作系统,那么 Excel 就是使得微软硬起来的法宝! Word 和 PowerPoint 都有不相上下的对手,但 Excel ...
最新文章
- SpringMVC基础及应用-李守红
- CVPR 2019分享会论坛实录丨2019最值得期待的计算机视觉问题有哪些?(附PPT)
- 2021年春季学期教学记录
- python到底怎么学-学 Python 到底能帮你解决什么问题 ?
- 混迹于IT纯屌界中独一无二的丸子
- Java spark中的各种范型接口Function的区别(持续更新中)
- jdbc对mysql进行增删改查操作(Statement)
- js add方法_爬虫必备:Python 执行 JS 代码 —— PyExecJS、PyV8、Js2Py
- spring---FactoryBean与BeanFactory的区别
- python判断字符类型例题_Python面试题:字符类型的考察
- 《高质量C编程指南》读后感
- android手机速度太慢,如果我的Android手机速度变慢该怎么办?加快手机速度的五种方法...
- 乐鱼播放器(乐鱼影音盒) v1.13 官方版
- 童心未泯?LEGO积木iPod touch外壳,自己拼积木!
- java 获取一年内周六周日日期
- [ 网络协议篇 ] IGP 详解之 OSPF 详解(三)--- OSPF协议报文 链路状态通告 详解
- Java-Mybatis(二): Mybatis配置解析、resultMap结果集映射、日志、分页、注解开发、Mybatis执行流程分析
- JDBC批量插入sql-踩坑笔记
- 程序员35岁前成功的12条黄金法则
- 密歇根大学计算机硕士学制,密歇根大学安娜堡分校学专业设置及学制介绍