Piton

Koristite python za komprimiranje datoteke i direktorija

Koristite python za komprimiranje datoteke i direktorija
Komprimirana datoteka sadrži mnogo datoteka, direktorija i poddirektorijuma. Dostupne su mnoge aplikacije za stvaranje datoteke komprimiranja bilo koje velike datoteke ili direktorija i preuzimanje datoteka ili mapa ekstrahiranjem komprimirane datoteke. Kada želimo prenijeti bilo koju veliku datoteku ili mapu putem Interneta, bolje je stisnuti sadržaj prije prijenosa. To ubrzava zadatak. Python skripte možete koristiti za komprimiranje i izdvajanje bilo koje velike datoteke ili direktorija. zip datoteka za izvršavanje zadatka koristi se modul pythona. Kako možete koristiti python3 za komprimiranje bilo koje datoteke ili direktorija, prikazano je u ovom vodiču pomoću različitih primjera.

Primjer-1: Sažimanje jedne datoteke

Stvorite novu datoteku pod nazivom 'poštanski broj1.pi ' i dodajte sljedeći kod. zip datoteka modul se uvozi za komprimiranje datoteke. temp.zip dodjeljuje se kao zip datoteka s načinom pisanja, a zatim, izvorno ime datoteke, temp.txt i tip kompresije dani su kao parametri u metodi pisanja.

import zipfile
zip_file = zipfile.ZipFile ('temp.zip ',' w ')
zip_file.write ('temp.txt ', tip_kompresije = zip datoteka.ZIP_DEFLATED)
zip_file.Zatvoriti()

Pokrenite skriptu

$ python3 poštanski broj1.py

Veličina temp.txt je 27 bajtova a nakon kompresije, veličina temp.zip je 2 bajta.

Primjer-2: Sažimanje određenog direktorija

Stvorite novu datoteku pod nazivom 'poštanski broj2.pi ' i dodajte sljedeći kod. Direktorij može sadržavati mnogo datoteka, mapa i podmapa. Da biste pročitali sadržaj imenika, os modul pythona se uvozi sa zip datoteka modul za komprimiranje direktorija. U ovoj skripti, mydir direktorij se koristi za kompresiju.

# uvoz potrebnih modula
 
uvoz os
import zipfile
 
 
# Deklarirajte funkciju za vraćanje svih putova datoteke određenog direktorija
def retrieve_file_paths (dirName):
 
# varijabla putova datoteka za postavljanje
filePaths = []
 
# Pročitajte sve mape, poddirektorijume i popise datoteka
za root, direktorije, datoteke u os.hodati (dirName):
za naziv datoteke u datotekama:
# Stvorite puni put do datoteke pomoću os modula.
filePath = os.staza.pridruživanje (root, naziv datoteke)
filePaths.dodati (filePath)
 
# vrati sve staze
vrati filePaths
 
 
# Proglasite glavnu funkciju
def glavni ():
# Dodijelite ime direktoriju zip-u
dir_name = 'mydir'
 
# Pozovite funkciju za dohvaćanje svih datoteka i mapa dodijeljenog direktorija
filePaths = dohvat_datoteka_datoteka (ime_dir)
 
# ispisuje popis svih datoteka koje se komprimiraju
print ('Sljedeći popis datoteka bit će stisnut u zip datoteku:')
za fileName u filePaths:
ispis (fileName)
 
# pisanje datoteka u zip datoteku
zip_file = zipfile.ZipFile (ime_dir + '.zip ',' w ')
sa zip_datotekom:
# pisanje svake datoteke jednu po jednu
za datoteku u filePaths:
zip_file.pisanje (datoteka)
 
ispis (ime_dir + '.zip datoteka je uspješno stvorena!')
 
# Pozovite glavnu funkciju
ako je __name__ == "__glavno__":
glavni()

Pokrenite skriptu

$ python3 poštanski broj2.py

Veličina mydir je 21 bajt a nakon kompresije, veličina mydir.zip je 2 bajta.

Primjer-3: Sažimanje direktorija datog argumentom naredbenog retka

Stvorite novu datoteku pod nazivom 'poštanski broj3.pi ' i dodajte sljedeći kod. Da biste pročitali vrijednost naredbenog retka, još jedan python modul sys se uvozi sa os i zip datoteka modula.

# uvoz potrebnih modula
 
uvoz os
import sys
import zipfile
 
# Deklarirajte funkciju za povratak svih staza datoteka određenog direktorija
def retrieve_file_paths (dirName):
 
# varijabla putova datoteka za postavljanje
filePaths = []
 
# Pročitajte sve mape, poddirektorijume i popise datoteka
za root, direktorije, datoteke u os.hodati (dirName):
za naziv datoteke u datotekama:
# Stvorite puni put do datoteke pomoću os modula.
filePath = os.staza.pridruživanje (root, naziv datoteke)
filePaths.dodati (filePath)
 
# vrati sve staze
vrati filePaths
 
 
# Proglasite glavnu funkciju
def glavni ():
 
# Provjerite daju li se dva argumenta u vrijeme izvođenja skripte
ako je len (sys.argv) != 2:
print ("Upisali ste naziv direktorija za zip")
sys.izlaz (1)
 
# Postavite ime direktorija iz naredbenog argumenta
ime_dirka = sys.argv [1]
 
# Postavite naziv zip datoteke
zipFileName = dir_name + ".zip "
 
# Pozovite funkciju za dohvaćanje svih datoteka i mapa dodijeljenog direktorija
filePaths = retrieve_file_paths (ime_dir)
 
# ispisati popis datoteka koje se komprimiraju
ispis ('Sljedeći popis datoteka bit će komprimiran:')
za fileName u filePaths:
ispis (fileName)
 
# zapisujte datoteke i mape u zip datoteku
zip_file = zipfile.ZipFile (zipFileName, 'w')
sa zip_datotekom:
# svaku datoteku napišite zasebno
za datoteku u filePaths:
zip_file.pisanje (datoteka)
 
ispis (datoteka zipFileName + 'uspješno je stvorena!')
 
# Pozovite glavnu funkciju
ako je __name__ == "__glavno__":
glavni()

Pokrenite skriptu

$ python3 poštanski broj3.py

test daje se kao ime direktorija u argumentu naredbenog retka. Veličina test je 21 bajt a nakon kompresije, veličina test.zip je 2 bajta.

Nadam se da će vam ovaj vodič pomoći da koristite python za komprimiranje bilo koje datoteke ili direktorija.

Srednja tipka miša ne radi u sustavu Windows 10
The srednja tipka miša pomaže vam u pomicanju kroz dugačke web stranice i zaslone s puno podataka. Ako se to zaustavi, na kraju ćete koristiti tipkovn...
Kako promijeniti lijevu i desnu tipku miša na računalu sa sustavom Windows 10
Sasvim je normalno da su svi uređaji računalnog miša ergonomski dizajnirani za dešnjake. Ali postoje dostupni uređaji za miš koji su posebno dizajnira...
Emulirajte klikove mišem lebdeći mišem bez klika u sustavu Windows 10
Korištenje miša ili tipkovnice u pogrešnom držanju pretjerane upotrebe može rezultirati mnogim zdravstvenim problemima, uključujući naprezanje, sindro...