删除搁架中数据的最干净方法是什么?

Mor*_*gan 2 python shelve

当我删除架子中的元素时,我还剩下一些数据。我尝试过popdelclear结果是一样的。剩余的数据位于扩展名为 dat 的文件中。因此,即使使用该方法清除后,dat 文件的大小也不是 0Ko。

这就是我尝试过的:

import shelve
test = shelve.open('test')
test['a']=1
#test.pop('a')
#del test['a']
#test.clear()
test.close()
Run Code Online (Sandbox Code Playgroud)

有没有办法彻底删除货架上的数据?

小智 5

您可以通过del d[key]正确的方式从搁置中删除对象。但是,当您删除架子中的所有对象时,这意味着存在空字典。因此,您的搁置文件包含腌制的空字典,因为 sile 大小不为 0。