Python3搁置-删除键和值

时间:2019-02-05 14:56:15

标签: python-3.x shelve

我正在使用python shelve模块针对键值存储一些嵌套对象。我注意到搁置模块创建了三个文件:

file_name.db.bak
file_name.db.dat
file_name.db.dir

我注意到key存储在.dir文件中,而value存储在.dat文件中。

我尝试删除特定密钥时会发生我的问题,说:

import shelve
..
..

with open(file_name.db) as file:
    if key in file:
        del file[key]

在执行此操作时,我注意到从key文件中删除了上述file_name.db.dir,但是这些值仍保留在file_name.db.dat文件中,尽管没有正确的key.dir文件中。

如何删除key及其value

还:有没有一种方法可以避免每个db创建三个文件? (.bak, .dat, .dir)

0 个答案:

没有答案