🔒 Как сжать файл в Python? Основные способы сжатия файлов
Чтобы сжать файл в Python, вы можете использовать модуль zipfile
.
import zipfile
def zip_file(file_path, zip_path):
with zipfile.ZipFile(zip_path, 'w') as zipf:
zipf.write(file_path, arcname=file_path.split('/')[-1])
# Пример использования:
zip_file('file.txt', 'archive.zip')
# В этом примере, мы сжимаем файл 'file.txt' в архив 'archive.zip'.
Функция zip_file
принимает путь к файлу, который нужно сжать, и путь к новому архиву. Она использует объект ZipFile
из модуля zipfile
для создания архива и метод write
для добавления файла в архив.
Детальный ответ
Как запаковать файл в Python
Запаковка файлов в формат ZIP является распространенной задачей в Python. В этой статье мы рассмотрим, как выполнить эту задачу с помощью встроенной библиотеки zipfile.
1. Установка и импорт библиотеки zipfile
Первым шагом является установка библиотеки zipfile, если она еще не установлена. Используйте следующую команду для установки:
!pip install zipfile
После установки мы можем импортировать библиотеку в нашем коде:
import zipfile
2. Создание архива ZIP
Чтобы создать архив ZIP, мы создаем экземпляр класса ZipFile, указывая имя архива, который мы хотим создать, и режим доступа к архиву (например, 'w' - для записи).
archive = zipfile.ZipFile('archive.zip', 'w')
Теперь, чтобы добавить файлы в архив, используйте метод write, указывая путь к файлу в качестве аргумента:
archive.write('file1.txt')
archive.write('file2.txt')
После того, как все необходимые файлы добавлены в архив, не забудьте закрыть его, вызвав метод close:
archive.close()
3. Распаковка архива ZIP
Для распаковки архива ZIP мы также используем класс ZipFile, но на этот раз указываем режим доступа 'r' (для чтения):
archive = zipfile.ZipFile('archive.zip', 'r')
Чтобы извлечь все файлы из архива, используйте метод extractall, указав путь каталога, в котором вы хотите сохранить файлы:
archive.extractall('extracted_files')
Метод extractall также может принимать аргументы, которые позволяют выбирать отдельные файлы, какие извлечь из архива.
Не забудьте закрыть архив после распаковки:
archive.close()
4. Дополнительные возможности
Библиотека zipfile предлагает и другие возможности, такие как установка пароля для архива, добавление комментариев и многое другое. Вы можете ознакомиться с официальной документацией для получения более подробной информации.
Заключение
В этой статье мы рассмотрели, как запаковать и распаковать файлы в формате ZIP с использованием библиотеки zipfile в Python. Мы изучили основные шаги по созданию архива ZIP и извлечению файлов из него. Не забывайте изучать дополнительные возможности, которые предоставляет эта библиотека.