Python ZIP-fil med eksempel

Anonim

Python lar deg raskt lage zip / tar-arkiver.

Følgende kommando vil zip hele katalogen

shutil.make_archive(output_filename, 'zip', dir_name)

Følgende kommando gir deg kontroll over filene du vil arkivere

ZipFile.write(filename)

Her er trinnene for å opprette zip-fil i Python

Trinn 1) For å opprette en arkivfil fra Python, må du sørge for at importoppgaven din er riktig og i orden. Her er importerklæringen for arkivet

from shutil import make_archive

Kode Forklaring

  • Importer make_archive-klassen fra module shutil
  • Bruk delingsfunksjonen til å dele ut katalogen og filnavnet fra banen til plasseringen av tekstfilen (guru99)
  • Så kaller vi modulen "shutil.make_archive (" guru99 archive, "zip", root_dir) "for å lage arkivfil, som vil være i zip-format
  • Etter det passerer vi i rotkatalogen over ting vi vil bli zippet opp. Så alt i katalogen blir glidelåst
  • Når du kjører koden, kan du se at zip-filen til arkivet blir opprettet på høyre side av panelet.

Steg 2)

  • Når arkivfilen din er laget, kan du høyreklikke på filen og velge operativsystemet, og det vil vise arkivfilene dine i den som vist nedenfor

    Nå vises archive.zip-filen på operativsystemet ditt (Windows Utforsker)

    Trinn 3) Når du dobbeltklikker på filen, vil du se listen over alle filene der.

    Trinn 4) I Python kan vi ha mer kontroll over arkivet siden vi kan definere hvilken spesifikk fil som skal inkluderes under arkivet. I vårt tilfelle vil vi inkludere to filer under arkivet "guru99.txt" og "guru99.txt.bak".

    Kode Forklaring

    • Importer Zipfile-klasse fra zip-fil Python-modul. Denne modulen gir full kontroll over å lage zip-filer
    • Vi oppretter en ny zip-fil med navn ("testguru99.zip," w ")
    • Å opprette en ny Zipfile-klasse, krever å sende inn tillatelse fordi det er en fil, så du må skrive informasjon i filen som newzip
    • Vi brukte variabelen "newzip" for å referere til zip-filen vi opprettet
    • Ved å bruke skrivefunksjonen på "newzip" -variabelen, legger vi til filene "guru99.txt" og "guru99.txt.bak" i arkivet.

    Når du utfører koden, kan du se at filen blir opprettet på høyre side av panelet med navnet "guru99.zip"

    Merk : Her gir vi ingen kommando om å "lukke" filen som "newzip.close" fordi vi bruker "With" scope lock, så når programmet faller utenfor dette omfanget, blir filen ryddet opp og lukkes automatisk.

    Trinn 5) Når du -> høyreklikker på filen (testguru99.zip) og -> velger operativsystemet (Windows Utforsker) , vil det vise arkivfilene i mappen som vist nedenfor.

    Når du dobbeltklikker på filen "testguru99.zip", vil den åpne et nytt vindu, og dette vil vise filene som er inkludert i den.

    Her er den fullstendige koden

    Python 2 Eksempel

    importer osimportere shutilfra zipfile importerer ZipFilefra os importstifra shutil import make_archivedef main ():# Sjekk om filen eksistererhvis sti eksisterer ("guru99.txt"):# få banen til filen i gjeldende katalogsrc = path.realpath ("guru99.txt");# gi nytt navn til den opprinnelige filenos.rename ("karriere.guru99.txt", "guru99.txt")# legg nå ting i et ZIP-arkivroot_dir, tail = path.split (src)shutil.make_archive ("guru99 archive", "zip", root_dir)# mer finkornet kontroll over ZIP-filermed ZipFile ("testguru99.zip", "w") som newzip:newzip.write ("guru99.txt")newzip.write ("guru99.txt.bak")hvis __navn __ == "__main__":hoved()

    Python 3 Eksempel

    importer osimportere shutilfra zipfile importerer ZipFilefra os importstifra shutil import make_archive# Sjekk om filen eksistererhvis sti eksisterer ("guru99.txt"):# få banen til filen i gjeldende katalogsrc = path.realpath ("guru99.txt");# gi nytt navn til den opprinnelige filenos.rename ("karriere.guru99.txt", "guru99.txt")# legg nå ting i et ZIP-arkivroot_dir, tail = path.split (src)shutil.make_archive ("guru99 arkiv", "zip", root_dir)# mer finkornet kontroll over ZIP-filermed ZipFile ("testguru99.zip", "w") som newzip:newzip.write ("guru99.txt")newzip.write ("guru99.txt.bak")

    Sammendrag

    • For å pakke hele katalogen, bruk kommandoen "shutil.make_archive (" name "," zip ", root_dir)
    • For å velge filene som skal zipes, bruk kommandoen "ZipFile.write (filnavn)"