ファイル圧縮は、ファイルやフォルダーのサイズを削減し、保存や共有を容易にするため、データ管理の基本的な側面です。利用可能な圧縮形式はいくつかありますが、RAR と ZIP の 2 つは最もよく使用されます。 Python で RAR ファイルを ZIP 形式に変換する必要がある場合がいくつかあります。そこで、このブログ投稿では、いくつかの簡単な手順に従って、Python アプリケーションで RAR ファイルを ZIP アーカイブに変換するプロセスを説明します。
RAR を ZIP に変換する Python ライブラリ
Aspose.ZIP for Python は、開発者が Python を使用して ZIP、RAR、7z などを含むさまざまな圧縮形式を操作できるようにする強力で多用途のライブラリです。ファイルの圧縮および解凍タスクを簡素化するユーザーフレンドリーな API を提供するため、Python アプリケーションでアーカイブを操作する場合に最適です。 RAR から ZIP への変換にはこのライブラリを使用します。
ライブラリをダウンロードするか、PyPIからインストールできます。
> pip install aspose-zip
Python で RAR ファイルを ZIP に変換する
Aspose.ZIP for Python を使用した RAR から ZIP への変換は、複雑なタスクではありません。 RAR ファイルを開き、RAR 内の各エントリにアクセスして ZIP アーカイブに追加し、最後に ZIP アーカイブを目的の場所に保存するだけです。 RARからZIPへの変換手順を詳しく見てみましょう。
- まず、ZIP アーカイブ用の Archive クラスのインスタンスを作成します。
- 次に、RarArchive クラスを使用して RAR アーカイブをロードします。
- その後、RarArchive.entries コレクションを使用して、RAR アーカイブのエントリをループします。
- RAR のエントリごとに、次の手順を実行します。
- rarArchive.entries[index].extract() メソッドを使用して、エントリを BytesIO オブジェクトに抽出します。
- Archive.createentry(string, BytesIO) メソッドを使用して、抽出したエントリを ZIP アーカイブに追加します。
- 最後に、Archive.save(string) メソッドを使用して ZIP アーカイブを保存します。
次のコード サンプルは、Python で RAR ファイルを ZIP に変換する方法を示しています。
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")
Python ZIP ライブラリ - 無料ライセンスを取得する
無料の一時ライセンスを取得すると、評価制限なしで Python で RAR を ZIP に変換できます。
学習リソース
以下のリソースを使用して、Python ZIP ライブラリの詳細を確認してください。
オンラインアーカイブツール
また、アーカイブを操作するためのオンライン ツールを無料で入手することもできます。これらのツールは、Aspose.ZIP for Python を利用しています。
結論
Aspose.ZIP for Python は、Python で RAR ファイルを ZIP 形式に変換するプロセスを簡素化し、さまざまな圧縮形式を扱う必要がある開発者にとって貴重なツールになります。このブログ投稿では、RAR から ZIP への変換を実行するために必要な基本的な手順について説明しました。これらの手順に従うことで、Python アプリケーションで RAR ファイルを ZIP にシームレスに変換し、ファイル管理タスクを効率化できます。