Автор оригинала: Pankaj Kumar.
Модуль Python Zipfile помогает нам работать с ZIP-файлами. Сегодня мы узнаем, как читать детали ZIP Archive, создавать и извлечь ZIP-файлы с помощью модуля zipfile.
Если вы не знаете, в Python есть встроенная ZIP () функция ZIP (). Вы можете прочитать все об этом на Appdivedend python zip () Учебное пособие Отказ
Python zipfile.
Python zipfile
Модуль важен для даже приложения производственно-класса. Это связано с причиной того, что на серверах файлы, загруженные через веб-приложения, часто застегнуты, а затем сохраняются, чтобы сохранить дорогостоящее пространство сервера. Давайте начнем с примерами модулей ZipFile. Это модуль Python также похоже на Модуль Python Tarfile Отказ
Обратите внимание, что Для демонстрационных целей У нас есть ZIP-файл под названием Archive.zip
С некоторыми текстовыми файлами, и эта ZIP присутствует в каталоге, где мы запускаем программы.
Чтение ZIP-файла
Начнем с листинга файлов, представленных внутри архива ZIP. Вот образец программы:
import zipfile zip_archive = zipfile.ZipFile("Archive.zip", "r") # list file information for file_info in zip_archive.infolist(): print(file_info.filename, file_info.date_time, file_info.file_size)
Давайте посмотрим на вывод этой программы:
Мы смогли перечислить файлы, представленные в архиве и некоторые мета-данные для файлов. Обратите внимание, что процесс действительно быстро, как Нам не нужно было расстегнуть файл, прежде чем мы сможем прочитать его Отказ
Создайте ZIP-файл
Далее мы начнем, смотрите, как можно сделать ZIP-файл (вот как мы это тоже сделали). Чтобы создать новый архив, мы сделаем экземпляр Zipfile
с режимом W
Отказ Обратите внимание, что если существует файл с тем же именем, он будет усечен полностью. Итак, убедитесь, что ваше имя файла уникально.
Давайте посмотрим на фрагмент кода, чтобы создать ZIP-файл с помощью модуля zipfile:
import zipfile archive = zipfile.ZipFile('Archive.zip', mode='w') try: archive.write('hello.txt') archive.write('second.txt') print('Files added.') finally: print('Reading files now.') archive.close() zip_archive = zipfile.ZipFile("Archive.zip", "r") # list file information for file_info in zip_archive.infolist(): print(file_info.filename, file_info.date_time, file_info.file_size)
Давайте посмотрим на вывод этой программы:
Проверка на действительный ZIP-файл
Мы также можем проверить, если упомянутый файл является действительным ZIP-архивом. Вот образец программы:
import zipfile test_files = ['check_if_zipfile.py', 'Archive.zip'] for file in test_files: print('ZIP status for {0}: {1}'.format(file, zipfile.is_zipfile(file)))
Давайте посмотрим на вывод этой программы: это важный тест для выполнения при обработке Zip Archives.
Расстепение zip архив
Давайте посмотрим на фрагмент кода:
import zipfile print('Extracting ZIP.') archive = zipfile.ZipFile('Archive.zip', 'r') # Extract to current directory archive.extractall('.') print('ZIP Extracted.') archive.close()
Давайте посмотрим на вывод этой программы: обратите внимание, что новый каталог не сделан, скорее, файлы помещаются в тот же каталог здесь. Укажите каталог, если вы хотите поставить файлы в определенное местоположение.
Добавление файла на Zip с разным именем
Можно добавлять файлы пользователей в архив с другим именем. Вот образец программы, чтобы показать, как это можно сделать:
import zipfile print('Creating Archive.zip.') archive = zipfile.ZipFile('Archive.zip', mode='w') try: archive.write('hello.txt', arcname='some_hello.txt') archive.write('second.txt', arcname='another.txt') finally: archive.close() print('ZIP created with different name.')
Давайте посмотрим на вывод этой программы:
Заключение
В этом уроке Python ZipFile мы видели, как мы можем создавать Zip Archives и прочитать их. Используйте этот модуль для создания закачных файлов и обрабатывать их по мере необходимости.
Ссылка : API док