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

Python ZIP-fail

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

Python ZIP-fail

Nüüd kuvatakse teie OS-is fail archive.zip (Windows Explorer)

Python ZIP-fail

Step 3) Kui teete failil topeltklõpsu, näete kõigi seal olevate failide loendit.

Python ZIP-fail

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

Python ZIP-fail

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.

Python ZIP-fail

Kui teete failil "testguru99.zip" topeltklõpsu, avaneb uus aken ja see näitab selles sisalduvaid faile.

Python ZIP-fail

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