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