我一直在努力将RESTful Web API(例如CouchDB,Twitter)表示为文件系统 - 只是为了娱乐和学习体验。但是,我不知道这是否可行或如何开始。
例如,可以通过 /mnt/example.org/foo/bar 访问http://example.org/foo/bar之类的资源。我想ls /mnt/example.org/foo
会返回bar baz
。
虽然我知道 <{em> FUSE,但我真的不知道关于它。不是一个低级程序员,我想知道是否有某种Python API,或者我可能只是编写一些Bash脚本来触发curl
文件系统查询请求?
任何指针都将非常感谢!
答案 0 :(得分:6)
此标准称为WebDAV。请参阅:http://webdav.org
甚至还有一个FUSE驱动程序:http://savannah.nongnu.org/projects/davfs2
查看源代码,看起来davfs2是用C语言编写的。它可能是一个有趣的项目,用Python或Perl重新实现它。
啊,从评论中我看到你想要的是如何编写FUSE模块的指针。当然,你写TwitterFS之类的想法是可行的。它可能会像/ proc中的东西一样工作。
用于实现保险丝的Perl库已有详细记录:CPAN - Fuse。您只需加载模块并实现相关的回调函数即可。看起来很容易。
这是一个Python FUSE库:fusepy。它没有详细记录,但有几个例子,包括一个功能性的sftp文件系统。