Преобразование файлов RAR в ZIP-архив в Python

Сжатие файлов является фундаментальным аспектом управления данными, поскольку оно помогает уменьшить размер файлов и папок, упрощая их хранение и совместное использование. Хотя существует несколько форматов сжатия, наиболее часто используемыми являются RAR и ZIP. Может быть несколько случаев, когда вам понадобится конвертировать файлы RAR в формат ZIP в Python. Итак, в этом сообщении блога мы покажем вам процесс преобразования файлов RAR в ZIP-архивы в приложении Python, выполнив несколько простых шагов.

Библиотека Python для преобразования RAR в ZIP

Aspose.ZIP for Python — это мощная и универсальная библиотека, которая позволяет разработчикам работать с различными форматами сжатия, включая ZIP, RAR, 7z и другие, используя Python. Он предоставляет удобный API, который упрощает задачи сжатия и распаковки файлов, что делает его отличным выбором для работы с архивами в ваших приложениях Python. Мы будем использовать эту библиотеку для преобразования RAR в ZIP.

Вы можете скачать библиотеку или установить ее из PyPI.

> pip install aspose-zip

Преобразование файла RAR в ZIP в Python

Преобразование RAR в ZIP с использованием Aspose.ZIP for Python не является сложной задачей. Просто откройте файл RAR, получите доступ к каждой записи в RAR, добавьте ее в ZIP-архив и, наконец, сохраните ZIP-архив в нужное место. Давайте рассмотрим этапы преобразования RAR в ZIP более подробно.

  1. Сначала создайте экземпляр класса Archive для ZIP-архива.
  2. Затем загрузите архив RAR, используя класс RarArchive.
  3. После этого просмотрите записи архива RAR, используя коллекцию RarArchive.entries.
  4. Для каждой записи в RAR выполните следующие действия:
    • Извлеките запись в объект BytesIO, используя метод RarArchive.entries[index].extract().
    • Добавьте извлеченную запись в ZIP-архив с помощью метода Archive.createentry(string, BytesIO).
  5. Наконец, сохраните ZIP-архив, используя метод Archive.save(string).

В следующем примере кода показано, как преобразовать файл RAR в ZIP в Python.

import aspose.zip as az
from io import BytesIO

# Создать ZIP-архив
with az.Archive() as zip:
    # Загрузить файл RAR
    with az.rar.RarArchive("archive.rar") as rar:
        # Перебирать записи
       for i in range(rar.entries.length):
            # Копирование записей из RAR в ZIP
            if not rar.entries[i].is_directory:
                ms = BytesIO()
                rar.entries[i].extract(ms)
                zip.create_entry(rar.entries[i].name, ms)
            else:
                zip.create_entry(rar.entries[i].name + "/", None)
    # Сохранить ZIP-архив
    zip.save("rar_to_zip.zip")

ZIP-библиотека Python — получите бесплатную лицензию

Вы можете конвертировать RAR в ZIP в Python без ограничений ознакомительной версии, получив бесплатную временную лицензию.

Образовательные ресурсы

Узнайте больше о нашей ZIP-библиотеке Python, используя ресурсы, указанные ниже:

Инструменты онлайн-архивирования

Вы также можете получить наши бесплатные онлайн-инструменты для работы с архивами. Эти инструменты созданы на базе Aspose.ZIP for Python.

Заключение

Aspose.ZIP for Python упрощает процесс преобразования файлов RAR в формат ZIP в Python, что делает его ценным инструментом для разработчиков, которым необходимо работать с различными форматами сжатия. В этом сообщении блога мы рассмотрели основные шаги, необходимые для преобразования RAR в ZIP. Выполнив эти шаги, вы сможете легко конвертировать файлы RAR в ZIP в своих приложениях Python и оптимизировать задачи управления файлами.

Смотрите также