问题描述
打开lmdb文件的代码如下:
import lmdb
train_data = "train.lmdb".encode("utf8")
env=lmdb.open(train_data,readonly=False)
运行到open这一行的时候就会报错:
lmdb.Error: train.lmdb: Not a directory
原因分析:
lmdb的默认是打开文件夹的,文件夹下会有两个 不同的文件,需要进行subdir=False的设置
解决方案:
import lmdb
train_data = "train.lmdb".encode("utf8")
env=lmdb.open(train_data,readonly=False,subdir=False)
解决上面的错误,还会报错:
lmdb.MapFullError: mdb_cursor_del: MDB_MAP_FULL: Environment mapsize limit reached
这个还需要设置map_size(设置得大一点)
import lmdb
train_data = "train.lmdb".encode("utf8")
env=lmdb.open(train_data,readonly=False,subdir=False,map_size=1024*1024*1024)