Obiekt Python Zipinfo

Obiekt Python Zipinfo
Kompresja danych bezstratnych jest obsługiwana przez format pliku archiwum zwanego ZIP. Bezstratna kompresja ma miejsce, gdy oryginalne dane mogą zostać precyzyjnie odtworzone ze skompresowanych danych, dzięki algorytmowi kompresji. W związku z tym plik zip to pojedynczy plik, który zawiera jeden lub więcej kompresowanych plików, zapewniając idealne podejście do zmniejszenia wielkości ogromnych plików i utrzymywania powiązanych informacji razem.

W tym poście odkryjemy, jak używać obiektu Zipfile Zipinfo Pythona do manipulowania plikami zip. Python ma zintegrowany moduł o nazwie Zipfile, który zawiera obiekt Zipinfo. Korzystając z Zipinfo klasy Zipinfo, można reprezentować element folderu zip. Podczas korzystania z funkcji getInfo () i infolist () na obiektach Zipfile, obiekty klasy Zipinfo są zwracane. Informacje indywidualnego członka archiwum zip są przechowywane w każdym obiekcie. Obiektu Zipinfo nie można tworzyć bezpośrednio. Korzystając z dodatkowych metod pokazanych poniżej, możemy zdobyć instancje klasowe Zipinfo.

  1. Lista obiektów Zipinfo reprezentujących każdy członek klasy Zipfile jest przechowywana w stałej pliku obiektu.
  2. Ponadto lista obiektów klasy Zipinfo dla członków pliku zip jest zwracana metodą Infolist () obiektu klasy Zipfile.
  3. Obiekt klasy Zipinfo należący do określonego członka jest zwracany przez funkcję getInfo () obiektu klasy Zipfile.

Składnia obiektu Zipinfo w Pythonie

Poniższa składnia Zipinfo, wdrażaliśmy w naszym skrypcie Python.

Zipinfo.from_file (nazwa pliku, arcName = Brak, strict_timestamps = true)

Poniżej krótko omówiliśmy składnię Zipinfo.

Jeden obowiązkowy argument jest wymagany przez funkcję z pliku (). Ścieżka do pliku, z którego konstruowano obiekt Zipinfo, jest przechowywana w polu „nazwa pliku”. Ta ścieżka może być obiektem typu ścieżki lub nazwy pliku typu klasy STR. Dodatkowo ma opcjonalny argument „arcname”. Nazwa używana do utworzenia obiektu Zipinfo jest przechowywana w tym argumencie.

Podobnie jak parametr nazwy pliku, ma tę samą wartość domyślną. ArcName otrzymuje nazwę pliku w obiekcie Zipinfo, gdy inna nazwa jest podana do opcji ArcName. Obiekt Zipinfo jest zwracany przez tę metodę. Wszystkie informacje niezbędne do pliku z określoną nazwą pliku, aby stać się plik ZIP, są zawarte w tym obiekcie Zipinfo. Następnie dane te są pobierane zgodnie z potrzebami użytkownika.

Przykład 1:
Wykorzystaliśmy funkcję Dir () do badania każdego obiektu w klasie Zipinfo Zipfile. Spójrz na kod poniżej.

Importuj Zipfile
Drukuj (reż (zipfile.zipinfo))

Jak już omówiono powyżej, do Zipinfo może uzyskać dostęp do modułu Zipfile w Python. Tutaj dodaliśmy moduł Zipfile, aby uzyskać obiekt Zipinfo. Następnie mamy metodę drukowania, w której powołaliśmy metodę dir () do wyświetlania wszystkich obiektów, które zawiera klasa Zipinfo. W tym celu przekazaliśmy zipfile wraz z obiektem Zipinfo do metody drukowania.

Po debugowaniu powyższego kodu generuje następujące wyniki:

Przykład 2:
Użyliśmy instancji Zipinfo w następującym kodzie, aby wyjaśnić funkcjonalność każdej metody na plikach zip. Zobaczmy kod, zaimplementowaliśmy poniżej.

Importuj Zipfile
ZF = Zipfile.Zipfile („myfile.Zip ”,„ W ”)
ZF.Napisz („myfile.txt "," reż/myfile.tekst")
Drukuj (ZF.Infolist () [0].Nazwa pliku)
def main ():
Z Flile.Zipfile („myfile.Zip ') jako plik:
archiwum = plik.Infolist ()
read_file = archiwum [-1]
print („Nazwa pliku:- ”.format (czyt_file.Nazwa pliku))
print („Rozmiar pliku:- ”.format (czyt_file.rozmiar pliku))
print („IS Directory:- ”.format (czyt_file.is_dir ()))
Drukuj („Data i godzina pliku:- ”.format (czyt_file.date_time))
Jeśli __name__ == '__main__': main ()

Tutaj najpierw zaimportowaliśmy pakiet Zipfile. Następnie zaimplementowaliśmy kod, aby dodać katalog plików do przechowywania plików ZIP. W tym celu utworzyliśmy obiekt jako ZF i określiliśmy nazwę pliku w zipfile funkcji klasy Zipfile Class. Ustawiliśmy nazwę pliku ZIP w tej funkcji w trybie zapisu. Nazwaliśmy funkcję zapisu, w której ustawiamy katalog pliku. Następnie, w ramach funkcji druku, nazwali funkcję Infolist do zawierania wszystkich plików i folderów określonego katalogu.

Ponieważ jest ustawiony katalog plików zip, możemy użyć obiektu Zipinfo w klasie Zipfile. Zdefiniowaliśmy główną funkcję tego programu za pomocą słowa kluczowego def. Wewnątrz funkcji nazwaliśmy plik zip, który jest obecny jako „myfile.zamek błyskawiczny'. Stworzyliśmy zmienną jako archiwum, w którym mamy Infolist (). Infolist () jest instancją klasowego pliku zip. Funkcja „Infolist ()” zwraca listę wszystkich plików i katalogów w obiektach ZIP -> „Zipinfo”.

Następnie ostateczny element listy jest przypisywany do zmiennej „archiwum”, aby wszystkie metody „Zipinfo” mogły zostać przetestowane. W końcu mamy instrukcję drukowania, w której użyliśmy obiektów klasy Zipinfo. Pierwsza instrukcja drukowania ma Zipinfo.nazwa pliku, która zwraca nazwę pliku. Następnie mamy rozmiar pliku Zipinfo, IS_DIR i DATE_Time obiekty klasy Zipinfo, aby zwrócić określone dane wyjściowe zgodnie z ich funkcjonalnością.

Obiekty Zipinfo dostarczyły następujące dane wyjściowe, które zawiera nazwę pliku, jego katalog, rozmiar pliku oraz datę i godzinę pliku.

Przykład 3:
Klasa Zipinfo oferuje wiele metod. Te liczne techniki służą do zmiany pliku zip i mogą być używane do przeprowadzenia różnych operacji. Metoda z pliku () jest tym, o czym tu mówimy.

z Zipfile Import Zipfile, Zipinfo
Zf = zipfile („myfile.Zip ", tryb = 'r')
Drukuj („Nazwa istniejących plików w pliku zip:”, ZF.namelist (), sep = "\ n")
Drukuj („\ Nadding plik do Archieve.")
Zip_file = Zipinfo.from_file (filename = "myfile.tekst")
print (typ (zip_file))
Drukuj („Filename of Zipinfo Object:”, Zip_file.Nazwa pliku)

W programie, z modułu Zipfile, zaimportowaliśmy Zipfile i Zipinfo. Następnie określiliśmy nazwę pliku w trybie zapisu wewnątrz zmiennej „ZF”. Następnie otrzymujemy listę plików umieszczonych w folderze pliku zip, wywołując metodę NamElist () w metodzie drukowania. Utworzyliśmy inną zmienną jako zip_file, w którym wykorzystaliśmy obiekt Zipinfo z pliku i otrzymaliśmy nazwę pliku. Tutaj otrzymaliśmy również typ pliku zip. Ostatnia instrukcja drukowania wykorzystuje nazwę pliku instancji Zipinfo.

Wdrożenie wyżej wymienionego programu daje wyświetlone poniżej wyniki.

Wniosek:

Zipinfo klasy należy do modułu Zipfile. Informacje o członku archiwum są reprezentowane przez tę klasę. Użytkownik może uzyskać informacje o komponentach pliku zip za pomocą kilku różnych technik zawartych w narzędziu. Aby lepiej zrozumieć, dołączyliśmy kilka próbek.