我想删除一个lmdb数据库。以下内容在txn.drop(db_name)行中命中“ typerror:invalid type”。
import lmdb
def kill_db(db_name):
print('ABOUT TO DELETE DB '+str(db_name)+'!!!!')
raw_input('press enter to continue or ctrl-C to not')
env = lmdb.open(db_name, readonly=False)
txn = lmdb.Transaction(env)
txn.drop(db_name)
关于为什么发生这种情况的任何线索?
我是lmdb的新手(您可能已经猜到过),所以要保持温柔。
最佳答案
也许这可以帮助您:
import lmdb
def kill_db(db_name):
print('ABOUT TO DELETE DB '+str(db_name)+'!!!!')
raw_input('press enter to continue or ctrl-C to not')
in_db = lmdb.open(db_name)
with in_db.begin(write=True) as in_txn:
db = in_db.open_db()
in_txn.drop(db)
print in_txn.stat()
您可以在此处找到文档:
https://lmdb.readthedocs.org/en/release/
换句话说,如果要从磁盘上完全删除LMDB,也可以使用:
import os
import shutil
if os.path.exists(db_name):
shutil.rmtree(db_name)
关于python - 使用python删除lmdb数据库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35558153/