6

我一直在玩弄将 RESTful Web API(例如 CouchDB、Twitter)表示为文件系统的想法——只是为了好玩和作为一种学习体验。但是,我不知道这是否可行或如何开始。

例如,像http://example.org/foo/bar这样的资源可以通过/mnt/example.org/foo/bar访问。我想ls /mnt/example.org/foo会回来bar baz

虽然我知道FUSE 但我对它一无所知。作为一个低级程序员,我想知道是否有某种 Python API,或者我可以简单地编写一些 Bash 脚本来触发对文件系统查询的请求?curl

任何指针将不胜感激!

4

1 回答 1

6

这方面的标准称为 WebDAV。见:http ://webdav.org

甚至还有一个 FUSE 驱动程序:http ://savannah.nongnu.org/projects/davfs2

查看源代码,davfs2 似乎是用 C 语言编写的。用 Python 或 Perl 重新实现它可能是一个有趣的项目。


啊,从评论中我看到你想要的是关于如何编写 FUSE 模块的指针。当然,您编写 TwitterFS 之类的东西的想法是可行的。它可能会像 /proc 中的东西一样工作。

用于实现 fuse 的 Perl 库有很好的文档记录:CPAN - Fuse。您只需要加载模块并实现相关的回调函数。看起来很容易。

这是一个 Python FUSE 库:fusepy。它没有很好的文档记录,但是给出了几个示例,包括功能性 sftp 文件系统。

于 2010-08-06T09:08:58.863 回答