Python ZIP-tiedosto esimerkin kanssa
โก รlykรคs yhteenveto
Python luo ZIP-arkistoja sisรครคnrakennetuilla shutil- ja zipfile-moduuleilla. Tรคssรค opit pakkaamaan kokonaisen hakemiston kรคyttรคmรคllรค make_archive()-funktiota, pakkaamaan tiettyjรค tiedostoja ZipFile-funktiolla ja esim.tract, listaa ja lue arkiston sisรคltรถ.

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)
Kuinka pakata koko hakemisto zip-tiedostoon Python
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
Code 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.
Tiedostojen pakkaaminen zip-tiedostoina ZipFilen avulla
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".
Code 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รคydellinen Python Code ZIP-tiedoston luominen
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")
Kuinka exรคksitract (Pura) ZIP-tiedosto kohdassa Python
Purkaaksesi arkiston, avaa se lukutilassa ZipFile-komennolla ja kutsu ex-komentoa.tractall() ex:lletract jokainen tiedosto tai esim.tract() vetรครคkseen pois yhden jรคsenen.
from zipfile import ZipFile with ZipFile("testguru99.zip", "r") as myzip: myzip.extractall("extracted_files")
Entinentractall()-metodi kirjoittaa kaikki arkistoidut tiedostot argumenttina antamaasi kansioon.
Tiedostojen listaaminen ZIP-tiedostossa Archive
Voit tarkastella arkistoa ilman ex-tiedostoatracting sitรค. Namelist()-metodi palauttaa kaikkien ZIP-tiedostoon tallennettujen tiedostojen nimet.
from zipfile import ZipFile with ZipFile("testguru99.zip", "r") as myzip: print(myzip.namelist())
Tรคmรค tulostaa luettelon arkistossa olevista tiedostonimistรค.
ZIP-tiedoston sisรคltรคmรคn tiedoston lukeminen Archive
Voit lukea jรคsentiedoston suoraan arkistosta purkamatta sitรคping se levylle ZipFilen open()-metodilla.
from zipfile import ZipFile with ZipFile("testguru99.zip", "r") as myzip: with myzip.open("guru99.txt") as f: print(f.read())
Tรคmรค on hyรถdyllistรค, kun tarvitset vain yhden tiedoston sisรคllรถn suuresta arkistosta.







