RkBlog

Hardware, programming and astronomy tutorials and reviews.

PyFilesystem - obsługa różnych systemów plików w Pythonie

PyFilesystem to warstwa abstrakcji pozwalająca operować na różnych systemach plików za pomocą jednego, zunifikowanego interfejsu

PyFilesystem to warstwa abstrakcji pozwalająca operować na różnych systemach plików za pomocą jednego, zunifikowanego interfejsu. Obsługiwane są operacje na natywnym systemie plików, ale także na archiwach ZIP, sieciowym FTP, S3 i innych.

Na pypi pakiet dostępny jest pod nazwą fs. Repozytorium znajdziemy na githubie, a screencast na vimeo.

Biblioteka dostarcza zunifikowany interfejs, więc niezależnie od backendu kod będzie ten sam. Oto przykłady:

from fs.memoryfs import MemoryFS
from fs.osfs import OSFS
from fs.sftpfs import SFTPFS
from fs.zipfs import ZipFS


def do_some_operations(filesystem):
    print(filesystem)
    for element in filesystem.listdir():
        print(element, filesystem.isfile(element), filesystem.isdir(element), filesystem.getsize(element))
    print()

do_some_operations(ZipFS('source.zip'))
do_some_operations(OSFS('/tmp'))
do_some_operations(MemoryFS())
do_some_operations(SFTPFS('HOST', username='some_user', password='some_password'))

Oczywiście interfejs jest większy - wliczając w to odczyt/zapis.

RkBlog

1 November 2015;

Comment article