Python ZIP-tiedosto esimerkin kanssa

Python voit luoda nopeasti zip/tar-arkistoja.

Seuraava komento pakkaa koko hakemiston

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

Seuraava komento antaa sinun hallita tiedostoja, jotka haluat arkistoida

ZipFile.write(filename)

Tässä on vaiheet Zip-tiedoston luomiseen Python

Vaihe 1) Luodaksesi arkistotiedoston kohteesta Python, varmista, että tuontiseloste on oikein ja kunnossa. Tässä on arkiston tuontilausunto from shutil import make_archive

Python ZIP-tiedosto

Koodin selitys

  • Tuo make_archive-luokka moduulista shutil
  • Käytä split-toimintoa jakaaksesi hakemiston ja tiedostonimen polusta tekstitiedoston sijaintiin (guru99)
  • Sitten kutsumme moduulia "shutil.make_archive("guru99 archive, "zip", root_dir)" luodaksemme arkistotiedoston, joka on zip-muodossa
  • Sen jälkeen siirrämme juurihakemistoon asiat, jotka haluamme pakata. Joten kaikki hakemistossa oleva pakataan
  • Kun suoritat koodin, näet, että arkiston zip-tiedosto on luotu paneelin oikealla puolella.

Vaihe 2) Kun arkistotiedostosi on luotu, voit napsauttaa tiedostoa hiiren kakkospainikkeella ja valita käyttöjärjestelmän, jolloin se näyttää arkistotiedostosi alla olevan kuvan mukaisesti.

Python ZIP-tiedosto

Nyt archive.zip-tiedostosi näkyy käyttöjärjestelmässäsi (Windows Explorer)

Python ZIP-tiedosto

Vaihe 3) Kun kaksoisnapsautat tiedostoa, näet luettelon kaikista siellä olevista tiedostoista.

Python ZIP-tiedosto

Vaihe 4) In Python voimme hallita arkistoa paremmin, koska voimme määrittää, mikä tiedosto sisällytetään arkiston alle. Meidän tapauksessamme sisällytämme kaksi tiedostoa arkistoon "guru99.txt" ja "guru99.txt.bak".

Python ZIP-tiedosto

Koodin selitys

  • Tuo Zipfile-luokka zip-tiedostosta Python moduuli. Tämä moduuli antaa täyden hallinnan zip-tiedostojen luomiseen
  • Luomme uuden Zip-tiedoston nimellä ("testguru99.zip, "w)
  • Uuden Zipfile-luokan luominen vaatii luvan, koska se on tiedosto, joten sinun on kirjoitettava tiedot tiedostoon newzip-muodossa
  • Käytimme muuttujaa "newzip" viittaamaan luomaani zip-tiedostoon
  • Käyttämällä "newzip"-muuttujan kirjoitustoimintoa lisäämme tiedostot "guru99.txt" ja "guru99.txt.bak" arkistoon

Kun suoritat koodin, näet, että tiedosto on luotu paneelin oikealle puolelle nimellä "guru99.zip".

Huomautuksia: Täällä emme anna mitään komentoa "sulkea" tiedosto, kuten "newzip.close", koska käytämme "With"-suojauslukkoa, joten kun ohjelma jää tämän soveltamisalan ulkopuolelle, tiedosto siivotaan ja suljetaan automaattisesti.

Vaihe 5) Kun olet -> napsauta hiiren oikealla painikkeella tiedostoa (testguru99.zip) ja -> valitse käyttöjärjestelmäsi (Windows Explorer), se näyttää kansion arkistotiedostot alla olevan kuvan mukaisesti.

Python ZIP-tiedosto

Kun kaksoisnapsautat tiedostoa "testguru99.zip", se avaa toisen ikkunan, ja tämä näyttää siihen sisältyvät tiedostot.

Python ZIP-tiedosto

Tässä on täydellinen koodi

Python 2-esimerkki

import os
import shutil
from zipfile import ZipFile
from os import path
from shutil import make_archive

def main():
# Check if file exists
	if path.exists("guru99.txt"):
# get the path to the file in the current directory
	src = path.realpath("guru99.txt");
# rename the original file
	os.rename("career.guru99.txt","guru99.txt")
# now put things into a ZIP archive
	root_dir,tail = path.split(src)
    shutil.make_archive("guru99 archive", "zip", root_dir)
# more fine-grained control over ZIP files
	with ZipFile("testguru99.zip","w") as newzip:
	newzip.write("guru99.txt")
	    newzip.write("guru99.txt.bak")
if __name__== "__main__":
	  main()

Python 3-esimerkki

import os
import shutil
from zipfile import ZipFile
from os import path
from shutil import make_archive

    # Check if file exists
       if path.exists("guru99.txt"):
    # get the path to the file in the current directory
        src = path.realpath("guru99.txt");
    # rename the original file
        os.rename("career.guru99.txt","guru99.txt")
    # now put things into a ZIP archive
        root_dir,tail = path.split(src)
        shutil.make_archive("guru99 archive","zip",root_dir)
    # more fine-grained control over ZIP files
        with ZipFile("testguru99.zip", "w") as newzip:
            newzip.write("guru99.txt")
            newzip.write("guru99.txt.bak")

Yhteenveto

  • Pakkaa koko hakemisto komennolla "shutil.make_archive("nimi","zip", root_dir)
  • Valitse zip-tiedostot komennolla "ZipFile.write(filename)"