Python ZIP fájl példával

Python lehetővé teszi a zip/tar archívumok gyors létrehozását.

A következő parancs a teljes könyvtárat tömöríti

shutil.make_archive(output_filename, 'zip', dir_name)

A következő parancs segítségével szabályozhatja az archiválni kívánt fájlokat

ZipFile.write(filename)

Íme a ZIP-fájl létrehozásának lépései Python

Step 1) Archív fájl létrehozásához Python, győződjön meg arról, hogy az importálási nyilatkozat helyes és rendben van. Itt található az archívum importálási nyilatkozata from shutil import make_archive

Python ZIP fájl

Kód Magyarázat

  • Importálja a make_archive osztályt a shutil modulból
  • Használja a split funkciót a könyvtár és a fájlnév felosztására a szövegfájl helyének elérési útjától (guru99)
  • Ezután meghívjuk a modult "shutil.make_archive("guru99 archívum, "zip", root_dir)" archív fájl létrehozásához, amely zip formátumban lesz
  • Ezután átadjuk a gyökérkönyvtárba azokat a dolgokat, amelyeket tömöríteni szeretnénk. Így a könyvtárban minden zip-be kerül
  • A kód futtatásakor a panel jobb oldalán láthatja, hogy az archív zip-fájl létrejött.

Step 2) Az archív fájl elkészítése után kattintson a jobb gombbal a fájlra, és válassza ki az operációs rendszert, és az alább látható módon megjeleníti benne az archív fájlokat.

Python ZIP fájl

Mostantól az archive.zip fájl megjelenik az operációs rendszerén (Windows Explorer)

Python ZIP fájl

Step 3) Ha duplán kattint a fájlra, látni fogja a benne lévő összes fájl listáját.

Python ZIP fájl

Step 4) In Python jobban szabályozhatjuk az archívumot, mivel meg tudjuk határozni, hogy melyik fájl kerüljön az archívumba. Esetünkben két fájlt fogunk az archívum alá helyezni "guru99.txt" és a „guru99.txt.bak”.

Python ZIP fájl

Kód Magyarázat

  • Zipfile osztály importálása zip fájlból Python modul. Ez a modul teljes ellenőrzést biztosít a zip fájlok létrehozása felett
  • Létrehozunk egy új Zip-fájlt névvel ("testguru99.zip, "w)
  • Új Zipfile osztály létrehozásához engedély átadása szükséges, mivel ez egy fájl, ezért az információkat newzip-ként kell beírnia a fájlba
  • A „newzip” változót használtuk az általunk létrehozott zip fájlra
  • A „newzip” változó írási funkciójával hozzáadjuk a „guru99.txt” és „guru99.txt.bak” fájlokat az archívumhoz.

Amikor végrehajtja a kódot, láthatja, hogy a panel jobb oldalán létrejön a fájl „guru99.zip” néven.

Megjegyzések: Itt nem adunk parancsot a fájl „bezárására”, mint például a „newzip.close”, mert „With” hatókör zárolást használunk, így ha a program ezen a hatókörön kívül esik, a fájl megtisztul és automatikusan bezárul.

Step 5) Amikor -> kattintson jobb gombbal a fájlra (testguru99.zip), és -> válassza ki az operációs rendszert (Windows Explorer), akkor az alább látható módon megjeleníti a mappában lévő archív fájlokat.

Python ZIP fájl

Ha duplán kattint a „testguru99.zip” fájlra, megnyílik egy másik ablak, és ez mutatja a benne található fájlokat.

Python ZIP fájl

Itt a teljes kód

Python 2 Példa

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 Példa

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

Összegzésként

  • A teljes könyvtár tömörítéséhez használja a "shutil.make_archive("name", "zip", root_dir) parancsot.
  • A tömörítendő fájlok kiválasztásához használja a „ZipFile.write(fájlnév)” parancsot.

Foglald össze ezt a bejegyzést a következőképpen: