Python ZIP-fil med Exempel

Python lรฅter dig snabbt skapa zip/tar-arkiv.

Fรถljande kommando kommer att zippa hela katalogen

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

Fรถljande kommando ger dig kontroll รถver de filer du vill arkivera

ZipFile.write(filename)

Hรคr รคr stegen fรถr att skapa zip-fil i Python

Steg 1) Fรถr att skapa en arkivfil frรฅn Python, se till att du har din importsats korrekt och i ordning. Hรคr รคr importfรถrklaringen fรถr arkivet from shutil import make_archive

Python Zip fil

Kodfรถrklaring

  • Importera make_archive-klass frรฅn modul shutil
  • Anvรคnd splitfunktionen fรถr att dela upp katalogen och filnamnet frรฅn sรถkvรคgen till textfilens plats (guru99)
  • Sedan anropar vi modulen "shutil.make_archive("guru99 archive, "zip", root_dir)" fรถr att skapa arkivfil, som kommer att vara i zip-format
  • Efter det skickar vi in โ€‹โ€‹rotkatalogen med saker vi vill ska bli zippade. Sรฅ allt i katalogen kommer att zippas
  • Nรคr du kรถr koden kan du se att arkivets zip-fil skapas pรฅ hรถger sida av panelen.

Steg 2) Nรคr din arkivfil รคr skapad kan du hรถgerklicka pรฅ filen och vรคlja operativsystemet, sรฅ kommer det att visa dina arkivfiler i den som visas nedan

Python Zip fil

Nu kommer din archive.zip-fil att visas pรฅ ditt operativsystem (Windows explorer)

Python Zip fil

Steg 3) Nรคr du dubbelklickar pรฅ filen kommer du att se listan med alla filer dรคr.

Python Zip fil

Steg 4) In Python vi kan ha mer kontroll รถver arkivet eftersom vi kan definiera vilken specifik fil som ska inkluderas under arkivet. I vรฅrt fall kommer vi att inkludera tvรฅ filer under arkiv "guru99.txt" och "guru99.txt.bak".

Python Zip fil

Kodfรถrklaring

  • Importera Zipfile-klass frรฅn zip-fil Python modul. Denna modul ger full kontroll รถver att skapa zip-filer
  • Vi skapar en ny Zipfil med namn ("testguru99.zip, "w")
  • Att skapa en ny Zipfile-klass krรคver att du skickar in behรถrighet eftersom det รคr en fil, sรฅ du mรฅste skriva information i filen som newzip
  • Vi anvรคnde variabeln "newzip" fรถr att referera till zip-filen vi skapade
  • Med hjรคlp av skrivfunktionen pรฅ variabeln "newzip" lรคgger vi till filerna "guru99.txt" och "guru99.txt.bak" till arkivet

Nรคr du kรถr koden kan du se att filen skapas pรฅ hรถger sida av panelen med namnet "guru99.zip"

Anmรคrkningar: Hรคr ger vi inget kommando fรถr att "stรคnga" filen som "newzip.close" eftersom vi anvรคnder "With" scope lock, sรฅ nรคr programmet faller utanfรถr detta scope kommer filen att rensas upp och stรคngs automatiskt.

Steg 5) Nรคr du -> hรถgerklicka pรฅ filen (testguru99.zip) och -> vรคlj ditt operativsystem (Windows explorer), kommer den att visa arkivfilerna i mappen som visas nedan.

Python Zip fil

Nรคr du dubbelklickar pรฅ filen "testguru99.zip", รถppnas ett annat fรถnster, och detta kommer att visa filerna som ingรฅr i den.

Python Zip fil

Hรคr รคr den fullstรคndiga koden

Python 2 Exempel

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 Exempel

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

Sammanfattning

  • Fรถr att zippa hela katalogen anvรคnd kommandot "shutil.make_archive("namn",,"zip", root_dir)
  • Fรถr att vรคlja filerna att zippa anvรคnd kommandot "ZipFile.write(filename)"

Sammanfatta detta inlรคgg med: