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
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.
Mostantól az archive.zip fájl megjelenik az operációs rendszerén (Windows Explorer)
Step 3) Ha duplán kattint a fájlra, látni fogja a benne lévő összes fájl listáját.
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”.
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.
Ha duplán kattint a „testguru99.zip” fájlra, megnyílik egy másik ablak, és ez mutatja a benne található fájlokat.
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.







