我写了几个单元测试,搁置在http://code.google.com/p/filecache/和python 2完全保存了我在shelve.open()中指定的文件名但在python 3中我得到3个不同的文件“bak”,“dat”和“dir”.所以在测试开始之前我想删除这些文件,但我不知道我是否对它们的文件名或扩展名有任何保证.
如果我知道它的名字,我怎么能擦掉货架呢?
最佳答案:
您获得的扩展取决于使用的数据库后端. Python 2和Python 3之间的默认值可能不同,但它也可能是您环境中可用的数据库接口之间的差异.
所以不,你没有对扩展的保证,除非你使用特定的实现,即BsdDbShelf或DbfilenameShelf.您可以在tempfile创建的临时目录中指定一个文件,然后删除while目录.