Домой Программирование Python Python Unzip как распаковать zip файл

Python Unzip как распаковать zip файл

127
Python Unzip как распаковать zip файл
Python Unzip как распаковать zip файл

Python Unzip как распаковать zip файл в python

Python Unzip

Zip-файлы — один из самых популярных архивов и форматов сжатия в современную эпоху. Он относительно прост, бесплатен в использовании и поддерживается всеми платформами.

В этом руководстве вы узнаете, как можно разархивировать файлы с помощью модуля ZipFile в Python.

Модуль Python ZipFile

Python предоставляет нам модуль ZipFile, который предоставляет набор методов для управления операциями сжатия zip-файлов.

Чтобы разархивировать zip-файл с помощью модуля ZipFile, мы можем использовать функцию extractall(). Синтаксис показан ниже:

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

Функция принимает три аргумента:

  1. Path — параметр path указывает на расположение zip-файла, который необходимо распаковать.
  2. Members — параметр member указывает список файлов и каталогов, которые необходимо разархивировать. Если этот параметр отсутствует, функция извлечет все файлы в zip-файле.
  3. Pwd — задает пароль для зашифрованного zip-архива.

Затем функция возьмет zip, по указанному пути, и извлечет из него все файлы. Если архив зашифрован, функция будет использовать параметр pwd для его извлечения.

Извлечение Zip в Python

Давайте рассмотрим простой пример извлечения zip-файла с помощью модуля extractall. В нашем примере мы будем использовать файл «sample.zip».

Рассмотрим приведенный ниже код примера:

from zipfile import ZipFile

with ZipFile('sample.zip', 'r') as f:

f.extractall()

В приведенном выше коде мы начинаем с импорта модуля ZipFile. Затем мы используем оператор with для открытия файла и извлечения файлов из zip-архива. Использование оператора with позволяет Python гарантировать, что дескрипторы открытых файлов будут закрыты после закрытия интерфейса выполнения.

Извлечение файлов в другой каталог в Python

В некоторых случаях нам может понадобиться извлечь файлы из архива в другой каталог. Мы можем указать путь к директории, которую хотим использовать, в функции extractall().

Пример кода показан ниже:

from zipfile import ZipFile

with ZipFile('sample.zip', 'r') as f:

f.extractall('./new_dir')

В приведенном выше коде функция извлечет файлы из sample.zip в new_dir.

Извлечение определенных файлов в Python

А что если вы хотите извлечь из zip-архива конкретные файлы, а не весь архив? Мы можем указать файлы, которые хотим извлечь, в списке Python.

Рассмотрим пример кода ниже:

from zipfile import ZipFile

target_files = ['sample.pdf', 'sample.png', 'sample.llv']

with ZipFile('sample.zip', 'r') as f:

f.extractall('./sample', members=target_files)

Здесь функция зайдет в zip и извлечет файлы, указанные в списке target_files.

Модуль Python Shutil

В Python есть еще один модуль, который мы можем использовать для извлечения zip-архива. Синтаксис функции показан ниже:

shutil.unpack_archive(filename[, extract_dir[, format]])

Функция принимает в качестве параметров имя файла, целевой каталог и формат.

Пример кода для извлечения zip-файла с помощью этого метода показан ниже:

from shutil import unpack_archive

unpack_archive('sample.zip', './sample', "zip")

Приведенный выше код должен, в свою очередь, извлечь все файлы из указанного архива.

Заключение

В этой статье мы рассмотрели различные методы и способы извлечения архивного файла с помощью модулей Python zipfile и shutil.

Возможно вам будет интересно:

Математические библиотеки Python

# Python Unzip