Python ZIP-fail koos näitega
Python võimaldab kiiresti luua zip/tar arhiive.
Järgmine käsk pakib kogu kataloogi
shutil.make_archive(output_filename, 'zip', dir_name)
Järgmine käsk annab teile kontrolli failide üle, mida soovite arhiivida
ZipFile.write(filename)
Siit leiate juhised ZIP-faili loomiseks Python
Step 1) Arhiivifaili loomiseks Python, veenduge, et impordiaruanne oleks õige ja korras. Siin on arhiivi impordi avaldus from shutil import make_archive
Koodi selgitus
- Importige make_archive klass moodulist shutil
- Kasutage tükeldamise funktsiooni, et eraldada kataloog ja failinimi tekstifaili asukohast (guru99)
- Seejärel kutsume moodulit "shutil.make_archive("guru99 arhiiv, "zip", root_dir)", et luua arhiivifail, mis on zip-vormingus
- Pärast seda edastame juurkataloogis asjad, mida tahame pakkida. Nii et kõik kataloogis olev pakitakse kokku
- Kui käivitate koodi, näete paneeli paremas servas, et arhiivi ZIP-fail on loodud.
Step 2) Kui arhiivifail on loodud, saate failil paremklõpsata ja valida operatsioonisüsteemi ning see kuvab selles teie arhiivifailid, nagu allpool näidatud
Nüüd kuvatakse teie OS-is fail archive.zip (Windows Explorer)
Step 3) Kui teete failil topeltklõpsu, näete kõigi seal olevate failide loendit.
Step 4) In Python meil on arhiivi üle rohkem kontrolli, kuna saame määratleda, millise konkreetse faili arhiivi kaasata. Meie puhul lisame arhiivi kaks faili "guru99.txt" ja "guru99.txt.bak".
Koodi selgitus
- ZIP-faili klassi importimine ZIP-failist Python moodul. See moodul annab täieliku kontrolli ZIP-failide loomise üle
- Loome uue Zip-faili nimega (“testguru99.zip, “w)
- Uue ZIP-faili klassi loomine nõuab loa edastamist, kuna see on fail, nii et peate faili kirjutama teabe uue ZIP-failina
- Meie loodud ZIP-failile viitamiseks kasutasime muutujat "newzip".
- Kasutades muutuja “newzip” kirjutamisfunktsiooni, lisame arhiivi failid “guru99.txt” ja “guru99.txt.bak”.
Koodi käivitamisel näete, et paneeli paremas servas on loodud fail nimega "guru99.zip".
märkused: Siin me ei anna ühtegi käsku faili "sulgemiseks" nagu "newzip.close", kuna kasutame "With" ulatuse lukku, nii et kui programm jääb sellest ulatust välja, puhastatakse fail ja see suletakse automaatselt.
Step 5) Kui te -> paremklõpsake failil (testguru99.zip) ja -> valige oma OS (Windows Explorer), kuvab see kaustas olevaid arhiivifaile, nagu allpool näidatud.
Kui teete failil "testguru99.zip" topeltklõpsu, avaneb uus aken ja see näitab selles sisalduvaid faile.
Siin on täielik kood
Python 2 Näide
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 Näide
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")
kokkuvõte
- Kogu kataloogi pakkimiseks kasutage käsku "shutil.make_archive("nimi","zip", root_dir)
- Pakitavate failide valimiseks kasutage käsku "ZipFile.write(failinimi)"







