使用Python编程窗口中虚拟文件系统的最简单方法

我想用Python编写Windows中的虚拟文件系统

也就是说,一个Python中的程序,其界面实际上是一个“资源pipe理器窗口”。 你可以创build和操纵类似文件的对象,而不是像我的程序pipe理的常规文件那样在硬盘上创build,也就是说,远程存储,encryption,压缩或版本化,或者我可以用Python做的任何事情。

什么是最简单的方法来做到这一点?

虽然也许还不够成熟(不幸的是,我没有第一手的经验), pywinfuse看起来完全像你在找什么。

看看Dokan用户模式的Windows文件系统。 有Ruby,.NET(和第三方的Java)绑定可用,我不认为它会很难编写Python绑定。

它需要是Windows本机? 至少有一个协议可以被Windows资源管理器浏览,并由免费的Python库提供服务:FTP。 坚持你的程序在pyftpdlib后面,你就完成了。

如果你想写一个虚拟文件系统(我可能会误解你) – 我会看一个容器文件格式。 VHD与HDI和(嵌入式)OSQ一起被记录良好。 基本上有两件事你需要做。 一个是你需要决定一个文件/容器格式。 之后,就像编写API来操纵那个容器一样简单。 如果你想通过互联网来操作,选择一个传输协议,然后写一个服务(将模拟一个文件系统驱动程序),监听某个端口,并使用你的API来操纵这个容器

您可能对PyFilesystem感兴趣;

Python的文件系统抽象层

PyFilesystem是文件系统的抽象层。 就像Python的类文件对象提供了访问文件的常用方式一样,PyFilesystem提供了访问整个文件系统的通用方法。 您可以编写独立于平台的代码来处理本地文件,这也适用于任何支持的文件系统(zip,ftp,S3等)。

主页上的描述没有公布的是,你可以再次将这个抽象作为一个文件系统展现 出来 ,其中包括SFTP,FTP(尽管现在已经失效了 ,可能是可以修复的 )和dokan ( dito )以及保险丝 。