你如何删除Python 3中的3个搁置文件?
-
12-11-2019 - |
题
我在 http://code.google.com/p/filecache/ 和Python 2将文件名I确认保存在shelve.open()但在Python 3中,我获得3个不同的文件“Bak”,“DAT”和“DIR”。所以在测试开始之前,我想删除这些文件,但我不知道我是否有文件名或扩展名。
如果我知道它的名字,我如何擦除搁置?
解决方案
您获得的哪个扩展依赖于使用哪些数据库后端。默认可能在Python 2和Python 3之间不同,但它也可能是您环境中可用的数据库接口之间的区别。
否则,除非您使用特定实现,即BSDDBShelf或DBFILENAMESHELF,否则您对扩展没有保证。您可以在quitpfile创建的临时目录中指定文件,然后删除何时目录。
其他提示
我使用shelve,因为tempfile和dict []对象无法涵固模块。如您所知,调用.clear()不清除磁盘上的持久对象上的内容,在退出后留下填充的R + W文件在磁盘上。(类似于使用缺款漏洞)您可以在使用时删除搁置:
.import os
import shelve
shelve_name = 'shelve_name'
shelve_contents = shelve.open(shelve_name, flag='c', protocol=None, writeback=False)
shelve_file = (os.path.join(os.getcwd(), shelve_name))
os.remove(shelve_file)
不隶属于 StackOverflow