A Python lehetővé teszi a zip / tar archívumok gyors létrehozását.
A következő parancs teljes könyvtárat tömörít
shutil.make_archive(output_filename, 'zip', dir_name)
A Következő parancs vezérli az archiválni kívánt fájlokat
ZipFile.write(filename)
A Zip fájl Pythonban történő létrehozásának lépései:
1. lépés: Archív fájl létrehozásához a Pythonból ellenőrizze, hogy az importálási utasítás helyes és rendben van-e. Itt található az archívum importálási nyilatkozata
from shutil import make_archive
Kód Magyarázat
- A make_archive osztály importálása a shutil modulból
- A split funkció segítségével ossza szét a könyvtárat és a fájl nevét a szövegfájl helyéhez vezető útból (guru99)
- Ezután hívjuk a "shutil.make_archive (" guru99 archívum, "zip", root_dir) "modult az archív fájl létrehozásához, amely zip formátumban lesz
- Ezután átadjuk azoknak a dolgoknak a gyökérkönyvtárát, amelyeket fel akarunk tömöríteni. Tehát a könyvtárban mindent tömörítenek
- A kód futtatásakor láthatja, hogy az archívum zip fájlja a panel jobb oldalán jön létre.
2. lépés)
Most az archive.zip fájl megjelenik az operációs rendszeren (Windows Intéző)
3. lépés: Amikor duplán kattint a fájlra, megjelenik az ott található összes fájl listája.
4. lépés: A Pythonban jobban ellenőrizhetjük az archívumot, mivel meghatározhatjuk, melyik fájlt vegyük fel az archívumba. Esetünkben két fájlt felveszünk a "guru99.txt" és a "guru99.txt.bak" archívumba .
Kód Magyarázat
- Importálja a Zipfile osztályt a zip fájl Python moduljából. Ez a modul teljes ellenőrzést biztosít a zip fájlok létrehozása felett
- Létrehozunk egy új Zipfile nevet ("testguru99.zip," w ")
- Új Zipfile osztály létrehozásához engedély megadására van szükség, mert ez egy fájl, ezért információkat kell beírnia a fájlba newzip néven
- Az "newzip" változóval hivatkoztunk az általunk létrehozott zip fájlra
- Az "newzip" változó írási függvényével hozzáadjuk a "guru99.txt" és a "guru99.txt.bak" fájlokat az archívumhoz
A kód végrehajtásakor láthatja, hogy a panel jobb oldalán létrejön a fájl "guru99.zip" névvel
Megjegyzés : Itt nem adunk meg parancsot a fájl "bezárására", mint például a "newzip.close", mert a "With" hatókörzárat használjuk, így amikor a program kívül esik ezen a körön, a fájl megtisztul és automatikusan bezáródik.
5. lépés) Amikor -> jobb gombbal kattint a fájlra (testguru99.zip), és -> kiválasztja az operációs rendszert (Windows Intéző) , akkor az archív fájlok a mappában jelennek meg, az alábbiak szerint.
Amikor duplán kattint a "testguru99.zip" fájlra, egy másik ablak nyílik meg, és ez megmutatja a benne lévő fájlokat.
Itt van a teljes kód
Python 2 példa
import osimport shutila zipfile importálásábólos import útvonalróla shutil importból make_archivedef main ():# Ellenőrizze, hogy létezik-e fájlha elérési út létezik ("guru99.txt"):# megkapja az aktuális könyvtár fájljának elérési útjátsrc = path.realpath ("guru99.txt");# nevezze át az eredeti fájltos.rename ("karrier.guru99.txt", "guru99.txt")# most tedd a dolgokat egy ZIP archívumbaroot_dir, tail = path.split (src)shutil.make_archive ("guru99 archívum", "zip", root_dir)# további finom ellenőrzés a ZIP fájlok feletta ZipFile ("testguru99.zip", "w") újzip-ként:newzip.write ("guru99.txt")newzip.write ("guru99.txt.bak")ha __név __ == "__fő__":fő()
Python 3 példa
import osimport shutila zipfile importálásábólos import útvonalróla shutil importból make_archive# Ellenőrizze, hogy létezik-e fájlha elérési út létezik ("guru99.txt"):# megkapja az aktuális könyvtár fájljának elérési útjátsrc = path.realpath ("guru99.txt");# nevezze át az eredeti fájltos.rename ("karrier.guru99.txt", "guru99.txt")# most tedd a dolgokat egy ZIP archívumbaroot_dir, tail = path.split (src)shutil.make_archive ("guru99 archívum", "zip", root_dir)# további finom ellenőrzés a ZIP fájlok feletta ZipFile ("testguru99.zip", "w") újzip-ként:newzip.write ("guru99.txt")newzip.write ("guru99.txt.bak")
Összegzés
- A teljes könyvtár tömörítéséhez használja a "shutil.make_archive (" név "," zip ", root_dir) parancsot.
- A tömörítendő fájlok kiválasztásához használja a "ZipFile.write (fájlnév)" parancsot.