Datoteka ZIP Python s primerom

Anonim

Python vam omogoča hitro ustvarjanje zip / tar arhivov.

Naslednji ukaz bo stisnil celoten imenik

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

Naslednji ukaz vam daje nadzor nad datotekami, ki jih želite arhivirati

ZipFile.write(filename)

Tu so koraki za ustvarjanje datoteke Zip v Pythonu

Korak 1) Če želite iz Pythona ustvariti arhivsko datoteko, poskrbite, da je izjava o uvozu pravilna in v redu. Tukaj je izjava o uvozu za arhiv

from shutil import make_archive

Razlaga kode

  • Uvozi razred make_archive iz modula shutil
  • Uporabite funkcijo split, da razdelite imenik in ime datoteke od poti do mesta besedilne datoteke (guru99)
  • Nato pokličemo modul "shutil.make_archive (" guru99 arhiv, "zip", root_dir) ", da ustvarimo arhivsko datoteko, ki bo v zip obliki
  • Nato prenesemo v korenski imenik stvari, ki jih želimo stisniti. Torej bo vse v imeniku stisnjeno
  • Ko zaženete kodo, lahko vidite, da je na desni strani plošče ustvarjena arhivska datoteka zip.

2. korak)

  • Ko je arhivska datoteka narejena, jo lahko z desno miškino tipko kliknete in izberete OS, v njej pa bodo prikazane vaše arhivske datoteke, kot je prikazano spodaj

    Zdaj se bo datoteka archive.zip pojavila v vašem OS (Windows Explorer)

    Korak 3) Ko dvokliknete datoteko, boste videli seznam vseh datotek.

    Korak 4) V Pythonu imamo lahko več nadzora nad arhivom, saj lahko določimo, katero datoteko vključimo v arhiv. V našem primeru bomo v arhiv "guru99.txt" in "guru99.txt.bak" vključili dve datoteki .

    Razlaga kode

    • Uvozite razred Zipfile iz zip datoteke Python modul. Ta modul daje popoln nadzor nad ustvarjanjem datotek zip
    • Ustvarimo novo datoteko zip z imenom ("testguru99.zip," w ")
    • Če želite ustvariti nov razred Zipfile, morate predati dovoljenje, ker gre za datoteko, zato morate v datoteko zapisati podatke kot newzip
    • Spremenljivko "newzip" smo uporabili za sklicevanje na zip datoteko, ki smo jo ustvarili
    • S pomočjo funkcije zapisovanja na spremenljivko "newzip" v arhiv dodamo datoteki "guru99.txt" in "guru99.txt.bak"

    Ko zaženete kodo, lahko vidite, da je datoteka ustvarjena na desni strani plošče z imenom "guru99.zip"

    Opomba : Tu ne damo nobenega ukaza za "zapiranje" datoteke, kot je "newzip.close", ker uporabljamo zaklepanje obsega "With", zato se bo datoteka, ko program ne pade iz tega obsega, očistila in samodejno zaprla.

    Korak 5) Ko -> z desno miškino tipko kliknete datoteko (testguru99.zip) in -> izberete svoj operacijski sistem (Windows Explorer) , bodo v mapi prikazane arhivske datoteke, kot je prikazano spodaj.

    Ko dvakrat kliknete datoteko "testguru99.zip", se odpre novo okno in v njej bodo prikazane datoteke, ki so v njej.

    Tu je celotna koda

    Python 2 Primer

    uvoz osuvoz shutiliz uvoza zipfileiz os uvozne potiiz shutil import make_archivedef main ():# Preverite, ali datoteka obstajače path.exists ("guru99.txt"):# dobite pot do datoteke v trenutnem imenikusrc = path.realpath ("guru99.txt");# preimenuj izvirno datotekoos.rename ("kariera.guru99.txt", "guru99.txt")# zdaj stvari shrani v ZIP arhivroot_dir, tail = path.split (src)shutil.make_archive ("arhiv guru99", "zip", root_dir)# več natančnega nadzora nad datotekami ZIPz ZipFile ("testguru99.zip", "w") kot newzip:newzip.write ("guru99.txt")newzip.write ("guru99.txt.bak")če je __ime __ == "__glavno__":glavni ()

    Python 3 Primer

    uvoz osuvoz shutiliz uvoza zipfileiz os uvozne potiiz shutil import make_archive# Preverite, ali datoteka obstajače path.exists ("guru99.txt"):# dobite pot do datoteke v trenutnem imenikusrc = path.realpath ("guru99.txt");# preimenuj izvirno datotekoos.rename ("kariera.guru99.txt", "guru99.txt")# zdaj stvari shrani v ZIP arhivroot_dir, tail = path.split (src)shutil.make_archive ("arhiv guru99", "zip", root_dir)# več natančnega nadzora nad datotekami ZIPz ZipFile ("testguru99.zip", "w") kot newzip:newzip.write ("guru99.txt")newzip.write ("guru99.txt.bak")

    Povzetek

    • Za stiskanje celotnega imenika uporabite ukaz "shutil.make_archive (" ime "," zip ", root_dir)
    • Za izbiro datotek za zip uporabite ukaz "ZipFile.write (ime datoteke)"