Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Python

Python ZIP-bestand met Voorbeeld

Met Python kun je snel zip/tar-archieven maken.

Het volgende commando zal de hele map zippen

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

Het volgende commando geeft je controle over de bestanden die je wilt archiveren

ZipFile.write(filename)

Hier zijn de stappen om een ​​zipbestand te maken in Python

Stap 1) Om een ​​archiefbestand van Python te maken, moet u ervoor zorgen dat uw importstatement correct en in orde is. Hier is de importverklaring voor het archief from shutil import make_archive

Code Uitleg

  • Importeer make_archive klasse uit module Shutil
  • Gebruik de split-functie om de map en de bestandsnaam op te splitsen van het pad naar de locatie van het tekstbestand (guru99)
  • Vervolgens noemen we de module "shutil.make_archive("guru99 archive, "zip", root_dir)" om een ​​archiefbestand te maken, dat in zip-formaat zal zijn
  • Daarna geven we de hoofdmap door van dingen die we willen inpakken. Dus alles in de map wordt gezipt
  • Als je de code uitvoert, zie je aan de rechterkant van het paneel dat het archiefzipbestand is aangemaakt.

Stap 2) Zodra uw archiefbestand is gemaakt, kunt u met de rechtermuisknop op het bestand klikken en het besturingssysteem selecteren, waarna uw archiefbestanden erin worden weergegeven, zoals hieronder weergegeven

Nu verschijnt uw archive.zip-bestand op uw besturingssysteem (Windows Verkenner)

Stap 3) Als u dubbelklikt op het bestand, ziet u de lijst met alle bestanden daarin.

Stap 4) In Python kunnen we meer controle hebben over het archief, omdat we kunnen definiëren welk specifiek bestand onder archief moet worden opgenomen. In ons geval zullen we twee bestanden opnemen onder archief “guru99.txt” en “guru99.txt.bak”.

Code Uitleg

  • Importeer Zipfile-klasse uit de Python-module met zipbestand. Deze module geeft volledige controle over het maken van zip-bestanden
  • We maken een nieuw zipbestand met naam ("testguru99.zip, "w")
  • Het maken van een nieuwe Zipfile-klasse vereist toestemming omdat het een bestand is, dus je moet informatie in het bestand schrijven als newzip
  • We hebben de variabele "newzip" gebruikt om te verwijzen naar het zip-bestand dat we hebben gemaakt
  • Met behulp van de schrijffunctie op de variabele "newzip" voegen we de bestanden "guru99.txt" en "guru99.txt.bak" toe aan het archief

Wanneer u de code uitvoert, kunt u zien dat het bestand is gemaakt aan de rechterkant van het paneel met de naam "guru99.zip"

Opmerking :Hier geven we geen commando om het bestand te "sluiten", zoals "newzip.close" omdat we "With" scope lock gebruiken, dus als het programma buiten deze scope valt, wordt het bestand opgeschoond en automatisch gesloten.

Stap 5) Wanneer u -> rechtsklikt op bestand (testguru99.zip) en -> uw besturingssysteem selecteert (Windows Verkenner) , het toont de archiefbestanden in de map zoals hieronder weergegeven.

Als u dubbelklikt op het bestand "testguru99.zip", opent een ander venster en worden de bestanden weergegeven die erin zijn opgenomen.

Hier is de volledige code

Python 2 voorbeeld

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 voorbeeld

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

Samenvatting

  • Gebruik het commando "shutil.make_archive("name","zip", root_dir) om de hele map te zippen
  • Gebruik het commando "ZipFile.write(filename)"
  • . om de bestanden te selecteren die u wilt zippen

Python

  1. Python-bestand I/O
  2. Java BufferedReader:hoe een bestand in Java te lezen met voorbeeld
  3. Python String strip() Functie met VOORBEELD
  4. Python String count() met VOORBEELDEN
  5. Python round() functie met VOORBEELDEN
  6. Python map() functie met VOORBEELDEN
  7. Python Timeit() met voorbeelden
  8. Python-teller in verzamelingen met voorbeeld
  9. Python List count() met VOORBEELDEN
  10. Python Lijst index() met Voorbeeld
  11. Python - Extensie programmeren met C