Python3 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
?
Также: есть ли способ избежать создания трех файлов на дБ? (.bak, .dat, .dir)