Python

Na skomprimovanie súboru a adresára použite python

Na skomprimovanie súboru a adresára použite python
Komprimovaný súbor obsahuje veľa súborov, adresárov a podadresárov. K dispozícii je veľa aplikácií na vytvorenie komprimovaného súboru z ľubovoľného veľkého súboru alebo adresára a na získanie súborov alebo priečinkov extrakciou komprimovaného súboru. Ak chceme preniesť cez internet akýkoľvek veľký priečinok alebo priečinok, je lepšie pred prenosom obsah komprimovať. Vďaka tomu je úloha rýchlejšia. Môžete použiť pythonovské skripty na kompresiu a extrakciu ľubovoľného veľkého súboru alebo adresára. zipfile Na vykonanie úlohy sa používa modul python. Ako môžete použiť python3 na kompresiu ľubovoľného súboru alebo adresára, sa v tomto výučbe dozviete na rôznych príkladoch.

Príklad-1: Komprimácia jedného súboru

Vytvorte nový súbor s názvomPSČ1.py ' a pridajte nasledujúci kód. zipfile modul sa importuje na komprimáciu súboru. tepl.PSČ je priradený ako názov zip súboru s režimom zápisu a ďalší, pôvodný názov súboru, tepl.TXT a typ kompresie sú uvedené ako parametre v metóde zápisu.

importovať súbor zip
zip_file = zipfile.ZipFile ('temp.zip ',' w ')
zip_file.napísať ('tepl.txt ', compress_type = zipfile.ZIP_DEFLATED)
zip_file.Zavrieť()

Spustite skript

$ python3 zipcode1.py

Veľkosť tepl.TXT je 27 bajtov a po kompresii veľkosť tepl.PSČ je 2 bajty.

Príklad-2: Kompresia konkrétneho adresára

Vytvorte nový súbor s názvomPSČ2.py ' a pridajte nasledujúci kód. Adresár môže obsahovať veľa súborov, priečinkov a podpriečinkov. Čítanie obsahu adresára, os modul pythonu je importovaný s zipfile modul na kompresiu adresára. V tomto scenári, mydir adresár sa používa na kompresiu.

# import požadovaných modulov
 
import os
importovať súbor zip
 
 
# Deklarujte funkciu, ktorá vráti všetky cesty k súborom konkrétneho adresára
def retrieve_file_paths (dirName):
 
# nastavenie premennej cesty k súboru
filePaths = []
 
# Prečítajte si všetky adresáre, podadresáre a zoznamy súborov
pre root, adresáre, súbory v os.chôdza (dirName):
pre názov súboru v súboroch:
# Vytvorte úplnú cestu k súboru pomocou modulu os.
filePath = os.cesta.pripojiť sa (root, názov súboru)
filePaths.append (filePath)
 
# vrátiť všetky cesty
návrat filePaths
 
 
# Deklarujte hlavnú funkciu
def main ():
# Priraďte názov adresára na formát zip
dir_name = 'mydir'
 
# Zavolajte funkciu na načítanie všetkých súborov a priečinkov z priradeného adresára
filePaths = retrieve_file_paths (dir_name)
 
# vypíše zoznam všetkých súborov, ktoré sa majú komprimovať
print ('Nasledujúci zoznam súborov bude zazipovaný:')
pre názov súboru v filePaths:
print (názov súboru)
 
# zápis súborov do súboru zip
zip_file = zipfile.ZipFile (dir_name + '.zip ',' w ')
so súborom zip_file:
# písanie jednotlivých súborov jeden po druhom
pre súbor v filePaths:
zip_file.zapísať (súbor)
 
print (dir_name + '.súbor zip bol úspešne vytvorený!")
 
# Zavolajte hlavnú funkciu
ak __name__ == "__main__":
hlavný()

Spustite skript

$ python3 zipcode2.py

Veľkosť mydir je 21 bajtov a po kompresii veľkosť mydir.PSČ je 2 bajty.

Príklad-3: Komprimácia adresára zadaného argumentom príkazového riadku

Vytvorte nový súbor s názvomPSČ3.py ' a pridajte nasledujúci kód. Na načítanie hodnoty príkazového riadku slúži ďalší modul pythonu sys sa dováža s os a zipfile modulov.

# import požadovaných modulov
 
import os
import sys
importovať súbor zip
 
# Deklarujte funkciu, ktorá vráti všetky cesty k súborom konkrétneho adresára
def retrieve_file_paths (dirName):
 
# premenná nastavenia cesty k súboru
filePaths = []
 
# Prečítajte si všetky adresáre, podadresáre a zoznamy súborov
pre root, adresáre, súbory v os.chôdza (dirName):
pre názov súboru v súboroch:
# Vytvorte úplnú cestu k súboru pomocou modulu os.
filePath = os.cesta.pripojiť sa (root, názov súboru)
filePaths.append (filePath)
 
# vrátiť všetky cesty
návrat filePaths
 
 
# Deklarujte hlavnú funkciu
def main ():
 
# Skontrolujte, či sú v čase spustenia skriptu uvedené dva argumenty
ak len (sys.argv) != 2:
print ("Zadali ste názov adresára na zip")
sys.výstup (1)
 
# Nastavte názov adresára z argumentu príkazu
dir_name = sys.argv [1]
 
# Nastavte názov zip súboru
zipFileName = dir_name + ".PSČ"
 
# Zavolajte funkciu na načítanie všetkých súborov a priečinkov priradeného adresára
filePaths = retrieve_file_paths (dir_name)
 
# vypíše zoznam súborov, ktoré sa majú komprimovať
print ('Nasledujúci zoznam súborov bude zazipovaný:')
pre názov súboru v filePaths:
print (názov súboru)
 
# zapisovať súbory a priečinky do súboru zip
zip_file = zipfile.ZipFile (zipFileName, 'w')
so súborom zip_file:
# každý súbor napíšte osobitne
pre súbor v filePaths:
zip_file.zapísať (súbor)
 
print (zipFileName + 'súbor je úspešne vytvorený!")
 
# Zavolajte hlavnú funkciu
ak __name__ == "__main__":
hlavný()

Spustite skript

$ python3 zipcode3.py

test sa uvádza ako názov adresára v argumente príkazového riadku. Veľkosť test je 21 bajtov a po kompresii veľkosť test.PSČ je 2 bajty.

Dúfam, že vám tento návod pomôže použiť python na kompresiu ľubovoľného súboru alebo adresára.

Top 5 ergonomických produktov pre počítačové myši pre Linux
Spôsobuje dlhodobé používanie počítača bolesť zápästia alebo prstov? Trpíte stuhnutými kĺbmi a neustále si musíte podávať ruky? Cítite pálivú bolesť z...
Ako zmeniť nastavenie myši a touchpadu pomocou systému Xinput v systéme Linux
Väčšina distribúcií systému Linux sa štandardne dodáva s knižnicou „libinput“ na spracovanie vstupných udalostí v systéme. Dokáže spracovať vstupné ud...
S ovládaním pomocou myši X-Mouse môžete tlačidlá myši premapovať odlišne pre iný softvér
Možno budete potrebovať nástroj, ktorý by mohol zmeniť ovládanie myši pri každej aplikácii, ktorú používate. Ak je to váš prípad, môžete vyskúšať apli...