Шаг 251.
Основы языка Python.
Сжатие данных. Работа с архивами ZIP

    На этом шаге мы рассмотрим особенности работы с такими архивами.

    Рассмотренные нами на предыдущих шагах форматы архивов GZIP, BZIP2 и LZMA позволяют хранить лишь один файл. В отличие от них, популярнейший формат ZIP может хранить сколько угодно файлов, однако произвольные данные мы сохранить в нем не сможем.

    Поддержка формата ZIP реализована в модуле zipfile. В первую очередь, нам понадобится класс ZipFile, представляющий архив и выполняющий все манипуляции с ним. Конструктор этого класса вызывается следующим образом:

  ZipFile (<Файл>[, mode='r'][, compression=ZIP_STORED][, allowZip64=True])

    Первый параметр задает путь к архивному файлу. Вместо него можно задать файловый объект.

    Параметр mode определяет режим открытия файла. Мы можем указать строковые значения:

    Параметр compression указывает алгоритм сжатия, который будет применен для архивирования содержимого файла. Доступны значения:

    Если присвоить параметру allowZip64 значение False, будет невозможно создать архив размером более 2 Гбайт. Этот параметр предусмотрен для совместимости со старыми версиями архиваторов ZIP.

    Архивный файл всегда открывается в двоичном режиме. Пример:

>>> import zipfile
>>> f = zipfile.ZipFile ("test.zip",  mode = "a", compression = zipfile.ZIP_DEFLATED)

    На следующем шаге мы рассмотрим методы класса ZipFile.




Предыдущий шаг Содержание Следующий шаг