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







