PyFilesystem - obsługa różnych systemów plików w Pythonie
1 November 2015
Comments
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
Comment article