Сообщить об ошибке.

Функция unpack_archive() модуля shutil в Python

Распаковывает архив средствами модуля shutil

Синтаксис:

import shutil

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

Параметры:

  • filename - полный путь к архиву;
  • extract_dir - имя целевого каталога, в который распаковывается архив;
  • format - формат архива: один из “zip”, “tar”, “gztar”, “bztar” или “xztar”;
  • filter - фильтры извлечения для файлов tar рекомендуется установить значение 'data'.

Описание:

Функция shutil.unpack_archive() модуля shutil распаковывает архив. Аргумент filename имя файла - это полный путь к архиву.

Аргумент extract_dir - это имя целевого каталога, в который распаковывается архив. Если не указано, то используется текущий рабочий каталог.

Аргумент format - это формат архива: один из “zip”, “tar”, “gztar”, “bztar” или “xztar”. Или любой другой формат, зарегистрированный с помощью shutil.register_unpack_format(). Если не указано, то функция shutil.unpack_archive() будет использовать расширение имени файла архива и проверит, был ли зарегистрирован распаковщик с этим расширением. В случае, если ничего не найдено, возникает ошибка ValueError.

Изменено в версии 3.12: добавлен аргумент filter.

Ключевой аргумент filter передается базовой функции распаковки. Для zip-файлов фильтр не применяется. Для файлов tar рекомендуется установить значение 'data', если только не используются функции, специфичные для tar и UNIX-подобных файловых систем. (Подробности смотрите в разделе "Фильтры извлечения".)

С версии Python 3.14. фильтр 'data' станет стандартным для файлов tar.

Вызывает событие аудита shutil.unpack_archive с аргументами filename, extract_dir, format.

Предупреждение. Никогда не извлекайте архивы из ненадежных источников без предварительной проверки. Возможно, что файлы создаются вне пути, указанного в аргументе extract_dir, например, элементы, которые имеют абсолютные имена файлов, начинающиеся с “/”, или имена файлов с двумя точками “..”.