首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Python中创建ramdisk?

如何在Python中创建ramdisk?
EN

Stack Overflow用户
提问于 2010-12-04 08:06:07
回答 4查看 19.4K关注 0票数 45

我想用Python创建一个ramdisk。我希望能够以跨平台的方式做到这一点,这样它就可以在Windows XP- to -7、Mac和Linux上运行。我希望能够像普通驱动器一样读/写ramdisk,最好使用驱动器号/路径。

我希望这样做的原因是为创建具有特定结构的目录的脚本编写测试。我希望在ramdisk中完全创建目录,这样我就可以确保在测试结束后将其完全删除。我考虑过使用Python的tempfile,但如果测试在中途停止,目录可能不会被删除。我想要完全确定,即使有人在测试过程中拔掉了计算机的插头,它也会被删除。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 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。

票数 18
EN

Stack Overflow用户

发布于 2010-12-04 09:00:40

因为文件和目录处理是如此低级且依赖于操作系统,所以我怀疑您想要的东西是否存在(或者甚至是可能的)。最好的办法可能是实现一个类似于“虚拟”文件系统的函数、类和方法集,用于跟踪创建的文件和目录层次结构及其内容。

这种仿真中的可调用函数需要具有与应用程序使用的各种Python标准内置函数和模块中的对应函数相同的签名和返回值。

我怀疑这可能不是听起来那么多的工作--模拟标准的Python文件系统接口--这取决于您实际使用了多少,因为您不必模仿所有的接口。此外,如果用纯Python™编写,它也是可移植的,易于维护和增强。

票数 4
EN

Stack Overflow用户

发布于 2010-12-04 09:09:55

一种选择可能是注入(猴子补丁) os模块中使用的方法的修改版本,以及写入StringIO文件而不是磁盘的内置openfile。显然,这种替换应该只发生在被测试的模块上;

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4351048

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档