可以用fuse-python实现的有趣项目
我最近在想要提升我的Python水平,刚好看到了一篇关于python-fuse库的文章。我一直对文件系统的东西很感兴趣,所以觉得这个库很适合我来研究一下。
不过我现在想不出可以用这个库实现什么。你们有没有什么建议或者想法可以分享一下?
5 个回答
1
把一个xml文件当作文件系统来使用,其中的元素就像文件夹,而它们的内容则存储为普通文件。每个文件夹里的属性会被存储在一个“属性”文件中,格式是每行一个 名称: 值
的组合。
这样一来,就可以用常见的命令行工具来修改XML文件,比如sed、grep、mkdir、rm、rmdir、cat、vim等等。对于同名的多个元素,还需要找到一个优雅的解决办法。
所以这个想法有点偏离常规。你也没说这一定要是个好主意。
2
那什么是版本化文件系统呢?我一直觉得这个主意很酷,尤其是我在Plan 9上看到它的实现后。这样的话,你就不需要自己去写版本控制的部分,可以直接用现成的工具,比如git。这个工具里的内容可以像文件夹一样展示,旧版本可以变成只读的文件夹,而对文件的写入操作就可以触发一次提交。
最初的sshfs版本使用了一个FUSE前端,它通过后端执行一些命令来在目标文件系统中移动。你可以很简单地实现类似的功能,输出git命令并对仓库进行操作。
2
FUSE的“酷炫”之处在于,它可以把一些其实不是文件的东西,通过文件系统的方式展示出来,而这些东西通常是存储在其他地方的。
已经存在的例子有:Gmail文件系统和SSH文件系统。
我所知道的还没有的例子包括:一个Twitter文件系统,可以把推文当作文件来展示。或者一个Stack Overflow文件系统,把问题和答案当作文件来展示。