Python ZIP-fil med eksempel

Anonim

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)

  • Når din arkivfil er oprettet, kan du højreklikke på filen og vælge OS, og den viser dine arkivfiler i den som vist nedenfor

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