В этой статье мы рассмотрим, как работать с модулем zipfile
в Python. Этот модуль предоставляет инструменты для работы с ZIP архивами, позволяя создавать, читать, записывать, добавлять и извлекать файлы из архивов.
Создание ZIP-архива
Для создания нового архива используйте метод ZipFile()
. Передайте ему имя файла архива и режим открытия. Возможные режимы:
- ‘r’: чтение (по умолчанию)
- ‘w’: запись
- ‘a’: добавление
- ‘x’: исключительное создание, предотвращает перезапись
import zipfile with zipfile.ZipFile("example.zip", "w") as zf: zf.write("file_to_archive.txt")
Чтение ZIP-архива
Чтобы просмотреть содержимое архива, используйте метод namelist()
:
import zipfile with zipfile.ZipFile("example.zip", "r") as zf: print(zf.namelist())
Извлечение файлов из архива
Чтобы извлечь файлы из архива, воспользуйтесь методом extractall()
или extract()
:
import zipfile with zipfile.ZipFile("example.zip", "r") as zf: zf.extractall("extracted_files")
Добавление файлов в существующий архив
Если вы хотите добавить файлы в уже существующий архив, откройте его в режиме ‘a’:
import zipfile with zipfile.ZipFile("example.zip", "a") as zf: zf.write("another_file.txt")
Работа с архивами в памяти
Иногда требуется работать с архивами, не сохраняя их на диск. Для этого используйте объект io.BytesIO()
:
import zipfile import io zip_buffer = io.BytesIO() with zipfile.ZipFile(zip_buffer, "w") as zf: zf.write("file_to_archive.txt") zip_buffer.seek(0) # Перемещаем указатель на начало буфера
Теперь у вас есть объект буфера, который содержит архив, и вы можете передать его другим функциям или записать в файл.
В заключение, модуль zipfile
предоставляет удобные инструменты для работы с ZIP архивами в Python. Надеемся, что эта статья помогла вам освоить основы работы с этим модулем. Удачи вам в изучении Python! 😉
Добавить комментарий