1 obsługa plików tar
Biblioteka standardowa Pythona umożliwia (także pod Windowsem) pakowanie i rozpakowywanie archiwów tar (tar.gz i tar.bz2 też). Poniżej prosty przykład jak użyć tej biblioteki do pakowania listy plików.
import tarfile import sys from os import sep as separator from os.path import exists def ustaw_uprawnienia(tarinfo): tarinfo.mode = 0o444 tarinfo.uid = 0 tarinfo.gid = 0 tarinfo.uname = 'root' tarinfo.gname = 'root' return tarinfo def pakuj(plik_tar,lista_plikow,mode='w:gz'): with tarfile.open(plik_tar,mode) as tar: for plik in lista_plikow: #usun sciezke z docelowej nazwy pliku gdzieslash = plik.rfind(separator)+1 krotka_nazwa = plik[gdzieslash:] tar.add(plik,krotka_nazwa,filter = ustaw_uprawnienia) if __name__ == '__main__': if(len(sys.argv)<2):sys.exit('podaj nazwe archiwum oraz liste plikow do spakowania') wynikowy_tar = sys.argv[1] if(exists(wynikowy_tar)):sys.exit('plik archiwum nie moze istniec') lista_plikow = sys.argv[2:] pakuj(wynikowy_tar,lista_plikow)
Powyższy program nadaje uprawnienia 0444 i ustawia właściciela/grupę wszystkich plików dodawanych do archiwum na root.root. Dodatkowo – usuwane są wszystkie informacje o katalogach (scieżka jest usuwana w linijkach 19-20).
Brak komentarzy:
Prześlij komentarz