• 售前

  • 售后

热门帖子
入门百科

Python LMDB库的利用示例

[复制链接]
楼琴观雪让 显示全部楼层 发表于 2021-10-25 19:42:03 |阅读模式 打印 上一主题 下一主题
linux中,可以利用指令
  1. pip install lmdb
复制代码
安装lmdb包。
----
      
  • lmdb 数据库文件天生  
  • 增 改 删  

1、天生一个空的lmdb数据库文件
  1. # -*- coding: utf-8 -*-
  2. import lmdb
  3. # 如果train文件夹下没有data.mbd或lock.mdb文件,则会生成一个空的,如果有,不会覆盖
  4. # map_size定义最大储存容量,单位是kb,以下定义1TB容量
  5. env = lmdb.open("./train",map_size=1099511627776)
  6. env.close()
复制代码
2、LMDB数据的添加、修改、删除
  1. # -*- coding: utf-8 -*-
  2. import lmdb
  3. # map_size定义最大储存容量,单位是kb,以下定义1TB容量
  4. env = lmdb.open("./train", map_size=1099511627776)
  5. txn = env.begin(write=True)
  6. # 添加数据和键值
  7. txn.put(key = '1', value = 'aaa')
  8. txn.put(key = '2', value = 'bbb')
  9. txn.put(key = '3', value = 'ccc')
  10. # 通过键值删除数据
  11. txn.delete(key = '1')
  12. # 修改数据
  13. txn.put(key = '3', value = 'ddd')
  14. # 通过commit()函数提交更改
  15. txn.commit()
  16. env.close()
复制代码
3、查询LMDB数据库
  1. # -*- coding: utf-8 -*-
  2. import lmdb
  3. env = lmdb.open("./train")
  4. # 参数write设置为True才可以写入
  5. txn = env.begin(write=True)
  6. ############################################添加、修改、删除数据
  7. # 添加数据和键值
  8. txn.put(key = '1', value = 'aaa')
  9. txn.put(key = '2', value = 'bbb')
  10. txn.put(key = '3', value = 'ccc')
  11. # 通过键值删除数据
  12. txn.delete(key = '1')
  13. # 修改数据
  14. txn.put(key = '3', value = 'ddd')
  15. # 通过commit()函数提交更改
  16. txn.commit()
  17. ############################################查询lmdb数据
  18. txn = env.begin()
  19. # get函数通过键值查询数据
  20. print txn.get(str(2))
  21. # 通过cursor()遍历所有数据和键值
  22. for key, value in txn.cursor():
  23.   print (key, value)
  24.   
  25. ############################################
  26. env.close()
复制代码
4. 读取已有.mdb文件内容
  1. # -*- coding: utf-8 -*-
  2. import lmdb
  3. env_db = lmdb.Environment('trainC')
  4. # env_db = lmdb.open("./trainC")
  5. txn = env_db.begin()
  6. # get函数通过键值查询数据,如果要查询的键值没有对应数据,则输出None
  7. print txn.get(str(200))
  8. for key, value in txn.cursor(): #遍历
  9.   print (key, value)
  10. env_db.close()
复制代码
以上就是Python LMDB库的利用示例的详细内容,更多关于Python LMDB库的资料请关注脚本之家其它干系文章!

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作