Skip to content

Archives

  • styczeń 2022
  • grudzień 2021
  • listopad 2021
  • październik 2021
  • wrzesień 2021

Categories

  • Brak kategorii
Trend RepositoryArticles and guides
Articles

Python Unzip File: How To Extract Single or Multiple Files

On 24 września, 2021 by admin

Python ZipFile jest klasą modułu zipfile do odczytu i zapisu plików zip. ZIP jest formatem pliku archiwum, który obsługuje bezstratną kompresję danych.

Przez bezstratną kompresję rozumiemy, że algorytm kompresji pozwala na całkowite odtworzenie oryginalnych danych z danych skompresowanych.

Plik ZIP to pojedynczy plik zawierający jeden lub więcej skompresowanych plików, oferujący łatwy sposób na zmniejszenie dużych plików i przechowywanie powiązanych plików razem.

  • Plik rozpakowany w Pythonie
  • Syntaktyka
  • Przykład rozpakowywania w Pythonie
  • Wyjście
  • Wyodrębnij wszystkie pliki z pliku zip do innego katalogu
  • Wyjście
  • Wyodrębnianie plików z dużego pliku zip na podstawie warunku
  • Wniosek
  • Patrz także

Plik rozpakowany w Pythonie

Aby pracować na plikach zip przy użyciu Pythona, użyjemy wbudowanego modułu Pythona o nazwie zipfile. W module zipfile Pythona, klasa ZipFile udostępnia funkcję członkowską do rozpakowania całej zawartości archiwum ZIP.

Aby rozpakować plik w Pythonie, należy użyć metody ZipFile.extractall(). Metoda extractall() przyjmuje jako argument ścieżkę, członków, pwd i wyodrębnia całą zawartość.

Syntaktyka

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

Akceptuje następujące parametry :

  1. ścieżka: lokalizacja, gdzie plik zip ma zostać wyodrębniony; jeśli nie zostanie podana, wyodrębni zawartość w bieżącym katalogu.
  2. członkowie: lista plików do wyodrębnienia. Jeśli ten argument nie zostanie podany, zostaną wyodrębnione wszystkie pliki w pliku zip.
  3. pwd: Jeśli plik zip jest zaszyfrowany, to przekaż hasło w tym argumencie domyślnie jest to Brak.

Przykład rozpakowywania w Pythonie

Powiedzmy, że w moim bieżącym katalogu roboczym mam plik zip o nazwie Mail3.zip i chcę go rozpakować za pomocą metody ZipFile.extractall().

Zobacz poniższy kod.

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

Wyjście

python3 app.py

Wyodrębni ona pliki znajdujące się w tym samym katalogu co plik app.py.

Wyodrębni ona wszystkie pliki w zipie w bieżącym katalogu. Jeśli pliki o tej samej nazwie są już obecne w miejscu ekstrakcji, to nadpisze te pliki.

Użyliśmy instrukcji Python with, aby otworzyć pliki. „Python with” zapewnia, że otwarte deskryptory plików są zamykane automatycznie po tym, jak wykonanie programu opuści kontekst instrukcji with.

Wyodrębnij wszystkie pliki z pliku zip do innego katalogu

Możemy wyodrębnić wszystkie pliki z pliku zip do innego katalogu, aby to zrobić, musimy przekazać lokalizację docelową jako argument w funkcji extractall(). Ścieżka może być względna lub bezwzględna.

Zobacz poniższy kod.

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

Tutaj obiekt ZipFile jest tworzony przez wywołanie konstruktora ZipFile, który akceptuje nazwę pliku zip i parametry trybu. Tworzymy obiekt ZipFile w trybie READ i nadajemy mu nazwę zipObj.

W wyjściu. Jeśli folderu tymczasowego nie ma, utworzy ten folder w bieżącym katalogu i rozpakuje całą zawartość pliku Mail3.zip.

Wyjście

python3 app.pyFile is unzipped in temp folder

Wyodrębnianie plików z dużego pliku zip na podstawie warunku

Powiedzmy, że mamy ogromny plik zip i potrzebujemy kilku plików z tysiąca plików w archiwum. Rozpakowanie wszystkich plików z dużego zipa może zająć kilka minut. Ale jeśli jesteśmy zainteresowani tylko kilkoma zarchiwizowanymi plikami, to zamiast rozpakowywać cały plik, możemy wyodrębnić pojedynczy plik z pliku zip.

Klasa Python ZipFile udostępnia funkcję członkowską do wyodrębniania pojedynczego pliku z pliku ZIP.

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

Zobacz następujący kod.

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

Jeśli nazwy plików mają rozszerzenie .py, to wyodrębni je wewnątrz folderu temp_py. W przeciwnym razie nie rozpakuje plików.

Wniosek

Upakowanie plików w Pythonie jest bardzo proste, ponieważ Python udostępnia moduł zipfile.

Moduł zipfile ma wszystkie funkcje rozpakowywania pojedynczych lub wielu plików na podstawie warunków.

Wreszcie, Python Unzip: Jak Rozpakować Pojedynczy lub Wiele Plików jest zakończony.

Patrz także

Python zip()

Python zip lista list

Python zip słownik

Unzip Python tuples

Python lista do dataframe

Python lista do słownika

Przykłady.

Dodaj komentarz Anuluj pisanie odpowiedzi

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Archiwa

  • styczeń 2022
  • grudzień 2021
  • listopad 2021
  • październik 2021
  • wrzesień 2021

Meta

  • Zaloguj się
  • Kanał wpisów
  • Kanał komentarzy
  • 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