Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python计算lmdb数据库中的记录数_Python_Lmdb - Fatal编程技术网

使用python计算lmdb数据库中的记录数

使用python计算lmdb数据库中的记录数,python,lmdb,Python,Lmdb,我使用以下代码打开lmdb数据库: lmdb_env = lmdb.open(source_path, readonly=True) 如何计算此数据库中的记录数 您可以使用event.stat()。它将返回以下字典,其中包含详细说明此数据库中记录数的条目: {'branch_pages': 1040L, 'depth': 4L, 'entries': 3761848L, 'leaf_pages': 73658L, 'overflow_pages': 0L, 'psize': 4

我使用以下代码打开
lmdb
数据库:

    lmdb_env = lmdb.open(source_path, readonly=True)

如何计算此数据库中的记录数

您可以使用
event.stat()
。它将返回以下字典,其中包含详细说明此数据库中记录数的
条目

{'branch_pages': 1040L,
'depth': 4L,
 'entries': 3761848L,
 'leaf_pages': 73658L,
 'overflow_pages': 0L,
 'psize': 4096L}

我使用
for
循环找到了一个简单的解决方案。这是:

count = 0
for key, value in lmdb_env.cursor():
        count = count + 1  

但是,我认为应该有更好的方法使用预定义函数。

我认为应该是这样的:

lmdb_env = lmdb.open(lmdb_file_name, readonly=True)
print lmdb_env.stat()
然后它打印粘贴在这里的目录。

env=lmdb.open('db file path',max_dbs='>0')
使用env.begin()作为tx:
db=env.open_db(b'db name',txn=tx)
打印(env.stat())
打印(tx.stat(db))#这会提供关于一个特定db的统计信息

env.stat()
提供主数据库的条目
tx.stat(db)
给出了一个命名数据库的条目。

我不理解投票结果。仅仅因为一个问题简短或基本,并不意味着它太宽泛或不清楚。这是一个关于编码的简单、具体的问题,可以得到明确的正确答案,我看不出为什么它不适合堆栈溢出的格式。我投票决定重新开业。我恭敬地提前请投票离开的任何人发表评论,解释原因。
sum(lmdb_env.cursor()中的1代表)