В прошлых выпусках мы монтировали готовые FUSE-реализации (sshfs, rclone) — теперь свою, минимальную. fusepy оборачивает /dev/fuse питоновским классом: переопределяешь VFS-методы, остальное берёт libfuse.
class HelloFS(Operations):
def getattr(self, path, fh=None):
return dict(st_mode=0o40755) if path == '/' else dict(st_mode=0o100644, st_size=13)
def readdir(self, path, fh):
return ['.', '..', 'hello.txt']
def read(self, path, size, offset, fh):
return b'Hello, FUSE!\n'[offset:offset+size]
FUSE(HelloFS(), '/mnt/hello', foreground=True)
getattr отвечает на stat(), readdir — список файлов, read — байты по смещению.
#fuse
