如何使用Python计算并枚举lmdb中的键?

2024-05-17 04:34:48 发布

您现在位置:Python中文网/ 问答频道 /正文

import lmdb
env = lmdb.open(path_to_lmdb)

现在我似乎需要创建一个事务和一个游标,但是如何获得一个可以迭代的键列表呢?


Tags: topathimportenvlmdb列表open事务
2条回答

一种在不分别枚举密钥的情况下获取密钥总数的方法,同时计算所有子数据库:

with env.begin() as txn:
    length = txn.stat()['entries']

在我的笔记本电脑上使用1000000大小的手工数据库测试结果:

  • 上述方法是瞬时的(0.0s)
  • 迭代法大约需要1秒。

你在找像^{}这样的东西吗:

with env.begin() as txn:
    with txn.cursor() as curs:
        # do stuff
        print 'key is:', curs.get('key')

更新:

这可能不是最快的

with env.begin() as txn:
   myList = [ key for key, _ in txn.cursor() ]
   print(myList)

免责声明:我对库一无所知,只是搜索了它的文档并在文档中搜索了key

相关问题 更多 >