Python giver dig mulighed for hurtigt at oprette zip / tar arkiver.
Følgende kommando vil zip hele biblioteket
shutil.make_archive(output_filename, 'zip', dir_name)
Følgende kommando giver dig kontrol over de filer, du vil arkivere
ZipFile.write(filename)
Her er trinene til oprettelse af zip-fil i Python
Trin 1) For at oprette en arkivfil fra Python skal du sørge for at have din importerklæring korrekt og i orden. Her er importerklæringen for arkivet
from shutil import make_archive
Kode Forklaring
- Importer make_archive klasse fra modul shutil
- Brug splitfunktionen til at opdele biblioteket og filnavnet fra stien til placeringen af tekstfilen (guru99)
- Derefter kalder vi modulet "shutil.make_archive (" guru99 arkiv, "zip", root_dir) "for at oprette arkivfil, som vil være i zip-format
- Derefter passerer vi i rodmappen over ting, vi vil have lynlås på. Så alt i biblioteket bliver zip
- Når du kører koden, kan du se, at zip-filen til arkivet oprettes på højre side af panelet.
Trin 2)
Nu vises din archive.zip-fil på dit OS (Windows Stifinder)
Trin 3) Når du dobbeltklikker på filen, vil du se listen over alle filerne derinde.
Trin 4) I Python kan vi have mere kontrol over arkivet, da vi kan definere, hvilken specifik fil der skal inkluderes under arkivet. I vores tilfælde inkluderer vi to filer under arkivet "guru99.txt" og "guru99.txt.bak".
Kode Forklaring
- Importer Zipfile-klasse fra zip-fil Python-modul. Dette modul giver fuld kontrol over oprettelse af zip-filer
- Vi opretter en ny zip-fil med navn ("testguru99.zip," w ")
- Oprettelse af en ny Zipfile-klasse kræver overførsel af tilladelse, fordi det er en fil, så du skal skrive oplysninger i filen som newzip
- Vi brugte variablen "newzip" til at henvise til den zip-fil, vi oprettede
- Ved hjælp af skrivefunktionen på "newzip" -variablen tilføjer vi filerne "guru99.txt" og "guru99.txt.bak" til arkivet
Når du udfører koden, kan du se, at filen oprettes på højre side af panelet med navnet "guru99.zip"
Bemærk : Her giver vi ingen kommando til at "lukke" filen som "newzip.close", fordi vi bruger "With" scope lock, så når programmet falder uden for dette scope, ryddes filen op og lukkes automatisk.
Trin 5) Når du -> højreklikker på fil (testguru99.zip) og -> vælger dit operativsystem (Windows Stifinder) , viser det arkivfilerne i mappen som vist nedenfor.
Når du dobbeltklikker på filen "testguru99.zip", åbner den et andet vindue, og dette viser de filer, der er inkluderet i den.
Her er den komplette kode
Python 2-eksempel
importer osimportere shutilfra zipfile importerer ZipFilefra os importstifra shutil import make_archivedef hoved ():# Kontroller, om der findes en filhvis sti findes ("guru99.txt"):# få stien til filen i det aktuelle biblioteksrc = sti.realpath ("guru99.txt");# omdøb den originale filos.rename ("karriere.guru99.txt", "guru99.txt")# læg nu ting i et ZIP-arkivroot_dir, hale = sti.split (src)shutil.make_archive ("guru99 arkiv", "zip", root_dir)# mere finkornet kontrol 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# Kontroller, om der findes en filhvis sti findes ("guru99.txt"):# få stien til filen i det aktuelle biblioteksrc = sti.realpath ("guru99.txt");# omdøb den originale filos.rename ("karriere.guru99.txt", "guru99.txt")# læg nu ting i et ZIP-arkivroot_dir, hale = sti.split (src)shutil.make_archive ("guru99 arkiv", "zip", root_dir)# mere finkornet kontrol over ZIP-filermed ZipFile ("testguru99.zip", "w") som newzip:newzip.write ("guru99.txt")newzip.write ("guru99.txt.bak")
Resumé
- For at zip hele biblioteket skal du bruge kommandoen "shutil.make_archive (" navn "," zip ", root_dir)
- For at vælge de filer, der skal zip, skal du bruge kommandoen "ZipFile.write (filnavn)"