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å 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)"