Python ZIP fájl példával
⚡ Okos összefoglaló
Python ZIP archívumokat hoz létre a beépített shutil és zipfile modulokkal. Itt megtanulhatod, hogyan tömöríthetsz be egy teljes könyvtárat a make_archive() segítségével, hogyan tömöríthetsz be bizonyos fájlokat a ZipFile segítségével, és pl.tract, listázza és olvassa az archívum tartalmát.

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)
Hogyan lehet egy teljes könyvtárat zip formátumban becsomagolni? Python
Í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
Code 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.
Hogyan tömörítsünk bizonyos fájlokat ZipFile használatával
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”.
Code 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.
teljes Python Code ZIP fájl létrehozása
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")
Hogyan lehetek extracZIP fájl kicsomagolása Python
Egy archívum kicsomagolásához nyisd meg olvasási módban a ZipFile paranccsal, és hívd meg az ex parancsot.tractall()-ból ex-betracminden fájl, vagy pl.tract() egyetlen tag kiemeléséhez.
from zipfile import ZipFile with ZipFile("testguru99.zip", "r") as myzip: myzip.extractall("extracted_files")
Az extracA tall() metódus az összes archivált fájlt az argumentumként átadott mappába írja.
Fájlok listázása ZIP-fájlban Archive
Archívumot megtekinthet ex nélkültracA namelist() metódus visszaadja a ZIP-ben tárolt összes fájl nevét.
from zipfile import ZipFile with ZipFile("testguru99.zip", "r") as myzip: print(myzip.namelist())
Ez kinyomtatja az archívumban található fájlnevek listáját.
Hogyan olvassunk be egy fájlt egy ZIP-fájlból Archive
Egy tagfájlt közvetlenül az archívumból olvashatsz kicsomagolás nélkül.ping lemezre a ZipFile open() metódusával.
from zipfile import ZipFile with ZipFile("testguru99.zip", "r") as myzip: with myzip.open("guru99.txt") as f: print(f.read())
Ez akkor hasznos, ha egy nagy archívumból csak egyetlen fájl tartalmára van szüksége.







