Python Zipinfo -objekt

Python Zipinfo -objekt
Tapfri datakomprimering støttes av arkivfilformatet kjent som ZIP. Tapfri komprimering er når de opprinnelige dataene kan gjenskapes nøyaktig fra komprimerte data, takket være kompresjonsalgoritmen. Følgelig er en ZIP -fil en enkelt fil som inneholder en eller flere komprimerte filer, og gir en perfekt tilnærming til å redusere størrelsen på enorme filer og holde relatert informasjon sammen.

Vi vil oppdage i dette innlegget hvordan du bruker Pythons Zipfile Zipinfo -objekt for å manipulere Zip -filer. Python har en integrert modul kalt Zipfile som inneholder objektet Zipinfo. Ved hjelp av Class Zipfile Zipinfo kan man representere et zip -mappemedlem. Når du bruker GetInfo () og Infolist () -funksjonene på Zipfile -objekter, returneres objekter i ZipInfo -klassen. Et individuelt zip -arkivmedlems informasjon lagres i hvert objekt. Et zipinfo -objekt kan ikke opprettes direkte. Ved å bruke tilleggsmetodene vist nedenfor, kan vi skaffe oss Zipinfo -klasseforekomster.

  1. En liste over ZipInfo -objekter som representerer hvert medlem av Zipfile -klassen, holdes i Filelist -konstanten til objektet.
  2. I tillegg returneres en liste over ZipInfo -klasseobjekter for en Zip Fils medlemmer av Infolist () -metoden til et ZipFile -klasseobjekt.
  3. Et objekt av ZipInfo -klassen som tilhører et spesifikt medlem, returneres av GetInfo () -funksjonen til et Zipfile -klasseobjekt.

Syntaks av Zipinfo -objektet i Python

Følgende Zipinfo -syntaks, vi distribuerte i Python -skriptet.

Zipinfo.fra_file (filnavn, arcname = ingen, streng_timestamps = true)

Nedenfor har vi kort diskutert syntaksen til Zipinfo.

Et obligatorisk argument er påkrevd av FRE -funksjonen fra File (). Veien til filen som Zipinfo -objektet ble konstruert, oppbevares i "filnavn" -feltet. Denne banen kan være et objekt av banetypen eller et filnavn av STR -klassetypen. I tillegg har det et "Arcname" valgfritt argument. Navnet som brukes til å lage et Zipinfo -objekt, lagres i dette argumentet.

I likhet med filnavnparameteren har den samme standardverdi. ArcName får filnavnet i ZipInfo -objektet når et annet navn blir gitt til ArcName -alternativet. Et zipinfo -objekt returneres med denne metoden. All informasjon som er nødvendig for filen med det spesifiserte filnavnet for å bli en zip -fil, er inneholdt i dette ZipInfo -objektet. Etterpå blir disse dataene hentet etter brukerens behov.

Eksempel 1:
Vi har brukt DIR () -funksjonen for å studere hvert objekt i Zipfile Zipinfo -klassen. Se på koden nedenfor.

Importer zipfile
Trykk (DIR (Zipfile.zipinfo))

Som allerede diskutert ovenfor, kan Zipinfo nås av Zipfile -modulen i Python. Her har vi lagt til Zipfile -modulen for å få ZipInfo -objektet. Deretter har vi en utskriftsmetode der vi har påkalt DIR () -metoden for å vise alle objektene Zipinfo -klassen inneholder. For dette har vi passert Zipfile sammen med objektet Zipinfo til utskriftsmetoden.

Når koden ovenfor er feilsøkte, genererer den følgende utfall:

Eksempel 2:
Vi har brukt ZipInfo -forekomstene i følgende kode for å forklare funksjonaliteten til hver metode på zip -filene. La oss se koden, vi har implementert nedenfor.

Importer zipfile
ZF = ZipFile.Zipfile ("Myfile.Zip "," W ")
zf.Skriv ("MyFile.txt "," Dir/myfile.tekst")
trykk (ZF.Infolist () [0].filnavn)
def main ():
med zipfile.Zipfile ('Myfile.ZIP ') som fil:
Arkiv = fil.Infolist ()
read_file = arkiv [-1]
print ("Filnavn:- ".Format (read_file.filnavn))
print ("Filstørrelse:- ".Format (read_file.filstørrelse))
print ("er katalog:- ".Format (read_file.is_dir ())))
Skriv ut ("Fildato og tid:- ".Format (read_file.dato tid))
hvis __name__ == '__main__': main ()

Her har vi først importert Zipfile -pakken. Deretter implementerte vi en kode for å legge til filkatalogen for å lagre zip -filene. For dette har vi opprettet et objekt som ZF og spesifisert filnavnet inne i Zipfile Class -funksjonen Zipfile. Vi har angitt zip -filnavnet inne i den funksjonen i en skrivemodus. Vi har kalt skrivefunksjonen, der vi angir katalogen til filen. Etter det, innen utskriftsfunksjonen, har vi kalt Infolist -funksjonen for å inneholde alle filene og mappene i den spesifiserte katalogen.

Når zip -filkatalogen er satt, kan vi bruke ZipInfo -objektet til Class Zipfile. Vi har definert hovedfunksjonen til dette programmet med DEF -nøkkelordet. Inne i funksjonen har vi kalt zip -filen som er til stede som 'myfil.glidelås'. Vi har laget en variabel som et arkiv der vi har infolist (). Infolisten () er forekomsten av klassen Zipfile. Funksjonen “Infolist ()” returnerer en liste over alle filene og katalogene i Zip -> “Zipinfo” -objekter.

Etter det tildeles den endelige elementet på listen til et variabelt 'arkiv', slik at alle “Zipinfos” metoder kan testes. Til slutt har vi en utskriftserklæring der vi har brukt Zipinfo -klasseobjekter. Den første utskriftserklæringen har Zipinfo.filnavn som returnerer navnet på filen. Deretter har vi en ZipInfo -filstørrelse, IS_DIR og DATE_TIME -objekter i ZipInfo -klassen for å returnere den spesifikke utgangen i henhold til deres funksjonalitet.

ZipInfo -objektene ga følgende utdata som inkluderer filnavnet, dens katalog, filstørrelsen og datoen og klokkeslettet for filen.

Eksempel 3:
Zipinfo -klassen tilbyr mange metoder. Disse mange teknikkene brukes til å endre en zip -fil og kan brukes til å utføre forskjellige operasjoner på den. FRA File () -metoden er det vi snakker om her.

Fra Zipfile Import Zipfile, Zipinfo
ZF = ZipFile ("MyFile.Zip ", Mode = 'R')
Skriv ut ("Navn på de eksisterende filene i ZIP -filen:", ZF.namelist (), sep = "\ n")
skrive ut ("\ nadding filen inn i arkivet.")
Zip_file = ZipInfo.fra_file (filnavn = "myfile.tekst")
print (type (zip_file))
trykk ("Filnavn på ZipInfo -objekt:", Zip_file.filnavn)

I programmet, fra Zipfile -modulen, har vi importert Zipfile og Zipinfo. Etter det spesifiserte vi filnavnet i skrivemodus inne i variabelen 'ZF'. Deretter får vi listen over filer plassert i ZIP -filmappen ved å påkalle Namelist () -metoden i utskriftsmetoden. Vi har opprettet en annen variabel som Zip_File der vi har brukt ZipInfo -objektet fra_filen og gitt et filnavn. Her har vi også fått typen zip -filen. Den siste utskriftserklæringen bruker forekomsten av Zipinfo.

Implementeringen av det nevnte programmet gir utdataene som er listet nedenfor.

Konklusjon:

Klassen Zipinfo tilhører Zipfile -modulen. Informasjon om et arkivmedlem er representert av denne klassen. Brukeren kan få informasjon om komponentene i en zip -fil ved å bruke flere forskjellige teknikker som er inkludert i verktøyet. For at du bedre skal forstå, har vi tatt med flere prøver.