嗨,这是我的货架结构

{
    'Birds' : {
        'BlueOnes': ["detailsAboutBlueBird"],
        'RedOnes' : ["detailsAboutRedBirds"]
    }
}


我正在尝试仅删除BlueOnes

下面是我正在使用的代码

s = shelve.open('birds.db')
del s['Birds']['BlueOnes']


但这似乎不起作用。

我在做错什么吗?

最佳答案

shelve中,如果要自动检测更改,请使用writeback标志,该标志记住使用内存中缓存从数据库中检索到的所有对象,如果该标志设置为True,则当我们关闭架子时,所有对象被写回到数据库。

s = shelve.open('birds.db', writeback=True)

07-28 09:29