В прошлых выпусках мы монтировали готовые 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