Skip to content

Archives

  • ianuarie 2022
  • decembrie 2021
  • noiembrie 2021
  • octombrie 2021
  • septembrie 2021

Categories

  • Nicio categorie
Trend RepositoryArticles and guides
Articles

Python Unzip File: Cum să extrageți fișiere simple sau multiple

On septembrie 24, 2021 by admin

Python ZipFile este o clasă de module zipfile pentru citirea și scrierea fișierelor zip. ZIP este formatul de fișier de arhivă care suportă compresia datelor fără pierderi.

Prin compresie fără pierderi, ne referim la faptul că algoritmul de compresie permite ca datele originale să fie reconstruite în întregime din datele comprimate.

Un fișier ZIP este un singur fișier care conține unul sau mai multe fișiere comprimate, oferind o modalitate ușoară de a face mai mici fișierele mari și de a păstra împreună fișierele conexe.

  • Python unzip file
  • Sintaxa
  • Exemplu de dezarhivare Python
  • Output
  • Extrageți toate fișierele dintr-un fișier zip în alt director
  • Salire
  • Extrage fișiere dintr-un fișier zip mare pe baza condiției
  • Concluzie
  • Vezi și

Python unzip file

Pentru a lucra cu fișiere zip folosind Python, vom folosi un modul python încorporat numit zipfile. În modulul zipfile din Python, clasa ZipFile oferă o funcție membră pentru a extrage tot conținutul arhivei ZIP.

Pentru a descompune un fișier în Python, utilizați metoda ZipFile.extractall(). Metoda extractall() ia ca argument o cale, members, pwd și extrage tot conținutul.

Sintaxa

ZipFile.extractall(path=None, members=None, pwd=None)

Aceptă următorii parametri :

  1. cale: locația în care trebuie extras fișierul zip; dacă nu este furnizată, va extrage conținutul din directorul curent.
  2. members: lista de fișiere care trebuie extrase. Se vor extrage toate fișierele din zip dacă acest argument nu este furnizat.
  3. pwd: Dacă fișierul zip este criptat, atunci treceți parola în acest argument valoarea implicită este None.

Exemplu de dezarhivare Python

Să spunem că, în directorul meu de lucru curent, am un fișier zip numit Mail3.zip și vreau să-l dezarhivez folosind ZipFile.extractall().

Vezi următorul cod.

# app.pyfrom zipfile import ZipFilewith ZipFile('Mail3.zip', 'r') as zipObj: # Extract all the contents of zip file in current directory zipObj.extractall()

Output

python3 app.py

Se vor extrage fișierele din același director ca și fișierul dvs. de programare app.py.

Se vor extrage toate fișierele din zip din directorul curent. Dacă fișiere cu același nume sunt deja prezente la locația de extracție, va suprascrie acele fișiere.

Am folosit Python with statement pentru a deschide fișierele. „Python with” se asigură că descriptorii de fișiere deschise sunt închise automat după ce execuția programului părăsește contextul instrucțiunii with.

Extrageți toate fișierele dintr-un fișier zip în alt director

Potem extrage toate fișierele din fișierul zip într-un alt director, iar pentru a face acest lucru, trebuie să transmitem locația de destinație ca argument în extractall(). Calea poate fi relativă sau absolută.

Vezi următorul cod.

# app.pyfrom zipfile import ZipFilewith ZipFile('Mail3.zip', 'r') as zipObj: # Extract all the contents of zip file in different directory zipObj.extractall('temp') print('File is unzipped in temp folder') 

Aici, un obiect ZipFile este creat prin apelarea unui constructor ZipFile, care acceptă numele fișierului zip și parametrii mode. Creăm obiectul ZipFile în modul READ și îl numim zipObj.

În ieșire. Dacă folderul temporar nu există, se va crea acel folder în directorul curent și se va descompune tot conținutul fișierului Mail3.zip.

Salire

python3 app.pyFile is unzipped in temp folder

Extrage fișiere dintr-un fișier zip mare pe baza condiției

Să spunem că avem un fișier zip imens și avem nevoie de câteva fișiere din miile de fișiere din arhivă. Descompunerea tuturor fișierelor dintr-un zip mare poate dura câteva minute. Dar dacă suntem interesați doar de câteva dintre fișierele arhivate, atunci în loc să descompactăm întregul fișier, putem extrage și un singur fișier din fișierul zip.

Clasa Python ZipFile oferă o funcție membră pentru a extrage un singur fișier dintr-un fișier ZIP.

ZipFile.extract(member, path=None, pwd=None)

Vezi următorul cod.

# app.pyfrom zipfile import ZipFilewith ZipFile('Mail3.zip', 'r') as zipObject: listOfFileNames = zipObject.namelist() for fileName in listOfFileNames: if fileName.endswith('.py'): # Extract a single file from zip zipObject.extract(fileName, 'temp_py') print('All the python files are extracted')

Dacă numele fișierelor au extensia .py, atunci se va extrage în interiorul folderului temp_py. În caz contrar, nu va extrage fișierele.

Concluzie

Dezarhivarea fișierelor în Python este foarte ușoară deoarece Python oferă modulul zipfile.

Modulul zipfile are toate funcțiile de dezarhivare a fișierelor unice sau multiple în funcție de condiții.

În cele din urmă, tutorialul Python Unzip: Cum să extrageți fișiere unice sau multiple s-a încheiat.

Vezi și

Python zip()

Python zip listă de liste

Python zip dicționar

Dezarhivare Python tuples

Python list to dataframe

Python list to dictionary

.

Lasă un răspuns Anulează răspunsul

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

Arhive

  • ianuarie 2022
  • decembrie 2021
  • noiembrie 2021
  • octombrie 2021
  • septembrie 2021

Meta

  • Autentificare
  • Flux intrări
  • Flux comentarii
  • WordPress.org
  • DeutschDeutsch
  • NederlandsNederlands
  • SvenskaSvenska
  • DanskDansk
  • EspañolEspañol
  • FrançaisFrançais
  • PortuguêsPortuguês
  • ItalianoItaliano
  • RomânăRomână
  • PolskiPolski
  • ČeštinaČeština
  • MagyarMagyar
  • SuomiSuomi
  • 日本語日本語

Copyright Trend Repository 2022 | Theme by ThemeinProgress | Proudly powered by WordPress