Skip to content

Archives

  • Leden 2022
  • Prosinec 2021
  • Listopad 2021
  • Říjen 2021
  • Září 2021

Categories

  • Žádné rubriky
Trend RepositoryArticles and guides
Articles

Python Unzip File: Jak extrahovat jeden nebo více souborů

On 24 září, 2021 by admin

Python ZipFile je třída modulu zipfile pro čtení a zápis souborů zip. ZIP je formát archivních souborů, který podporuje bezeztrátovou kompresi dat.

Bezztrátovou kompresí rozumíme to, že kompresní algoritmus umožňuje z komprimovaných dat zcela rekonstruovat původní data.

Soubor ZIP je jeden soubor obsahující jeden nebo více komprimovaných souborů, který nabízí snadný způsob, jak zmenšit velké soubory a udržet související soubory pohromadě.

  • Python unzip file
  • Syntaxe
  • Příklad rozbalování v Pythonu
  • Výstup
  • Vyjmutí všech souborů ze souboru zip do jiného adresáře
  • Výstup
  • Extrahujte soubory z velkého souboru zip na základě podmínky
  • Závěr
  • Viz také

Python unzip file

Pro práci se soubory ZIP pomocí Pythonu použijeme vestavěný modul Pythonu s názvem zipfile. V modulu zipfile jazyka Python poskytuje třída ZipFile členskou funkci pro rozbalení celého obsahu archivu ZIP.

Pro rozbalení souboru v jazyce Python použijte metodu ZipFile.extractall(). Metoda extractall() přijímá jako argument cestu, members, pwd a rozbalí celý obsah.

Syntaxe

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

Přijímá následující parametry :

  1. cesta: umístění, kde má být soubor ZIP rozbalen; pokud není zadána, rozbalí obsah v aktuálním adresáři.
  2. členy: seznam souborů, které mají být rozbaleny. Není-li tento argument zadán, rozbalí všechny soubory v souboru zip.
  3. pwd:

Příklad rozbalování v Pythonu

Řekněme, že v aktuálním pracovním adresáři mám soubor zip s názvem Mail3.zip a chci ho rozbalit pomocí ZipFile.extractall().

Podívejte se na následující kód.

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

Výstup

python3 app.py

Rozbalí soubory ve stejném adresáři jako váš programovací soubor app.py.

Rozbalí všechny soubory zip v aktuálním adresáři. Pokud se v místě extrakce již nacházejí soubory se stejným názvem, přepíše tyto soubory.

Pro otevření souborů jsme použili příkaz Python with. Příkaz „Python with“ zajišťuje automatické uzavření otevřených deskriptorů souborů poté, co provádění programu opustí kontext příkazu with.

Vyjmutí všech souborů ze souboru zip do jiného adresáře

Můžeme vyjmout všechny soubory ze souboru zip do jiného adresáře a k tomu potřebujeme předat cílové umístění jako argument příkazu extractall(). Cesta může být relativní nebo absolutní.

Podívejte se na následující kód.

# 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') 

Zde je objekt ZipFile vytvořen voláním konstruktoru ZipFile, který přijímá název souboru zip a parametry mode. Objekt ZipFile vytvoříme v režimu READ a pojmenujeme jej jako zipObj.

Ve výstupu. Pokud složka temp neexistuje, vytvoří tuto složku v aktuálním Adresáři a rozbalí celý obsah souboru Mail3.zip.

Výstup

python3 app.pyFile is unzipped in temp folder

Extrahujte soubory z velkého souboru zip na základě podmínky

Řekněme, že máme obrovský soubor zip a potřebujeme několik souborů z tisíce souborů v archivu. Rozbalení všech souborů z velkého archivu zip může trvat několik minut. Pokud však máme zájem pouze o několik málo souborů z archivu, pak místo rozbalování celého souboru můžeme ze souboru ZIP extrahovat i jednotlivé soubory.

Třída Python ZipFile poskytuje členskou funkci pro extrakci jednoho souboru ze souboru ZIP.

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

Podívejte se na následující kód.

# 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')

Pokud mají názvy souborů příponu .py, pak se extrahují uvnitř složky temp_py. V opačném případě soubory nerozbalí.

Závěr

Rozbalení souborů v Pythonu je velmi snadné, protože Python poskytuje modul zipfile.

Modul zipfile má všechny funkce pro rozbalení jednoho nebo více souborů na základě zadaných podmínek.

Konec výukového programu Rozbalování v jazyce Python: Jak rozbalit jeden nebo více souborů je u konce.

Viz také

Python zip()

Python zip seznamy

Python zip slovník

Rozbalování Python tuples

Python seznam na datový rámec

Python seznam na slovník

Napsat komentář Zrušit odpověď na komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Archivy

  • Leden 2022
  • Prosinec 2021
  • Listopad 2021
  • Říjen 2021
  • Září 2021

Základní informace

  • Přihlásit se
  • Zdroj kanálů (příspěvky)
  • Kanál komentářů
  • Česká lokalizace
  • 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