我想用Python创建一个ramdisk。我希望能够以跨平台的方式做到这一点,这样它就可以在Windows XP- to -7、Mac和Linux上运行。我希望能够像普通驱动器一样读/写ramdisk,最好使用驱动器号/路径。
我希望这样做的原因是为创建具有特定结构的目录的脚本编写测试。我希望在ramdisk中完全创建目录,这样我就可以确保在测试结束后将其完全删除。我考虑过使用Python的tempfile,但如果测试在中途停止,目录可能不会被删除。我想要完全确定,即使有人在测试过程中拔掉了计算机的插头,它也会被删除。
发布于 2010-12-04 22:26:08
那PyFilesystem呢?
https://docs.pyfilesystem.org/en/latest/reference/memoryfs.html
https://docs.pyfilesystem.org/en/latest/reference/tempfs.html
缺点是您必须使用PyFilesystem API访问文件系统,但您也可以使用PyFilesystem访问真正的fs。
发布于 2010-12-04 09:00:40
因为文件和目录处理是如此低级且依赖于操作系统,所以我怀疑您想要的东西是否存在(或者甚至是可能的)。最好的办法可能是实现一个类似于“虚拟”文件系统的函数、类和方法集,用于跟踪创建的文件和目录层次结构及其内容。
这种仿真中的可调用函数需要具有与应用程序使用的各种Python标准内置函数和模块中的对应函数相同的签名和返回值。
我怀疑这可能不是听起来那么多的工作--模拟标准的Python文件系统接口--这取决于您实际使用了多少,因为您不必模仿所有的接口。此外,如果用纯Python™编写,它也是可移植的,易于维护和增强。
发布于 2010-12-04 09:09:55
一种选择可能是注入(猴子补丁) os模块中使用的方法的修改版本,以及写入StringIO文件而不是磁盘的内置open和file。显然,这种替换应该只发生在被测试的模块上;
https://stackoverflow.com/questions/4351048
复制相似问题