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
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.
Nyt archive.zip-tiedostosi näkyy käyttöjärjestelmässäsi (Windows Explorer)
Vaihe 3) Kun kaksoisnapsautat tiedostoa, näet luettelon kaikista siellä olevista tiedostoista.
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".
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.
Kun kaksoisnapsautat tiedostoa "testguru99.zip", se avaa toisen ikkunan, ja tämä näyttää siihen sisältyvät tiedostot.
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)"