【发布时间】:2011-05-20 01:25:53
【问题描述】:
我想用 Python 创建一个 ramdisk。我希望能够以跨平台的方式执行此操作,因此它可以在 Windows XP-to-7、Mac 和 Linux 上运行。我希望能够像普通驱动器一样读取/写入 ramdisk,最好使用驱动器号/路径。
我想要这个的原因是为创建具有特定结构的目录的脚本编写测试。我想完全在 ramdisk 中创建目录,所以我会确保在测试结束后它会被完全删除。我考虑使用 Python 的tempfile,但如果测试将在中间停止,则目录可能不会被删除。我想完全确定它是否已被删除,即使有人在测试过程中拔掉了电脑上的插头。
【问题讨论】:
-
我相当怀疑没有简单的跨平台方法可以做到这一点,因为每个操作系统处理安装的方式不同。不过,这个问题非常有趣!
-
"如果测试将在中间停止,目录可能不会被删除" 你有任何证据吗?这与文档相矛盾。
-
@S.Lott 我想如果测试没有(有机会)自行清理。在这种情况下,我会争辩:为什么不简单地让测试设置确保一个干净的状态(如果需要,可能删除目录),而不管现有状态如何?
-
@pst:文件在关闭时被删除。测试中没有“清理”——删除是文件操作系统定义的一部分。与任何应用软件无关。
-
@S.Lott:“
mkdtemp()的用户负责删除临时目录及其内容。”来自 Python 的tempfile文档。
标签: python unit-testing cross-platform temporary-files ramdisk