PythonでZIPを作成する

ZIP アーカイブは、複数のファイルまたはフォルダーを圧縮して、統一されたコンテナーにバンドルします。 ZIP アーカイブは、ファイルとフォルダーをカプセル化するだけでなく、それらのメタデータも保持します。これらは主に、保存/送信用のファイル サイズを削減し、暗号化によってセキュリティを強化します。従来のファイル圧縮ツールに加えて、デスクトップおよび Web アプリケーションには自動圧縮および抽出機能が統合されており、ファイルのアップロード、ダウンロード、共有、暗号化などのタスクを合理化します。この記事では、Python でファイルまたはフォルダーを圧縮し、ZIP アーカイブを作成する簡単な方法を紹介します。また、Python で暗号化されパスワードで保護された ZIP アーカイブを作成する方法についても説明します。それでは、それについて詳しく見ていきましょう。

Python ZIP ライブラリ

Aspose.ZIP for Python は、Python アプリケーションで ZIP ファイルを操作するための包括的なツール セットを開発者に提供する強力で多用途のライブラリです。 Aspose.ZIP for Python は、直感的な API と幅広い機能を備えているため、ZIP アーカイブの効率的な作成、抽出、管理を簡単に行うことができます。次のコマンドを使用して、PyPI からライブラリをインストールできます。

> pip install aspose-zip

Python で ZIP アーカイブを作成する

以下は、Python でファイルを ZIP アーカイブに追加して圧縮する手順です。

  • まず、Archive クラスを使用して新しい ZIP アーカイブを作成します。
  • 次に、Archive.createentry() メソッドを使用してファイルを ZIP アーカイブに追加します。
  • 最後に、Archive.save() メソッドを使用して ZIP アーカイブを保存します。

次のコード サンプルは、Python で ZIP アーカイブにファイルを追加する方法を示しています。

import aspose.zip as az

# 単一ファイルのアーカイブを作成して保存する
with az.Archive() as archive:
    # ファイルをアーカイブに追加する
    archive.create_entry("file", "file.txt")

    # zip アーカイブを作成して保存する
    archive.save('my_archive.zip')

Python で複数のファイルを ZIP アーカイブに追加する

前のセクションでは、単一のファイルを ZIP アーカイブに挿入する方法を説明しました。ただし、複数のファイルがある場合は、Archive.createentry() メソッドを繰り返し呼び出すことができます。

次のコード サンプルは、Python で複数のファイルを ZIP アーカイブに挿入する方法を示しています。

import aspose.zip as az

# 複数のファイルを含むアーカイブを作成して保存する
with az.Archive() as archive:
    # 最初のファイルを追加
    archive.create_entry("file", "file.txt")

    # 2 番目のファイルを追加
    archive.create_entry("file2", "file2.txt")

    # zip アーカイブを作成して保存する
    archive.save('my_archive.zip')

Python で ZIP アーカイブにフォルダーを追加する

ファイルだけでなく、フォルダーを ZIP アーカイブに圧縮することもできます。このために、フォルダー内の各ファイルを 1 つずつアーカイブに追加する必要はありません。 Archive.createentries() メソッドを呼び出し、フォルダーの名前を渡すだけです。理解のために、フォルダー全体をアーカイブする手順を以下に示します。

  • まず、Archive クラスを使用して新しいアーカイブを作成します。
  • 次に、Archive.createentries(foldername) メソッドを使用して、ZIP アーカイブにフォルダーを追加します。
  • 最後に、Archive.save() メソッドを使用して ZIP アーカイブを保存します。

次のコード サンプルは、Python でフォルダーを ZIP に追加する方法を示しています。

import aspose.zip as az

# フォルダーからアーカイブを作成する
with az.Archive() as archive:
    # zipにフォルダーを追加
    archive.create_entries("files")

    # zip アーカイブを作成して保存する
    archive.save('my_archive_from_folder.zip')

Python でパスワードで保護された ZIP を作成する

インターネット上でアーカイブを共有するときなど、さまざまな場合に、ZIP ファイルをパスワードで保護する必要があります。 Aspose.ZIP for Python を使用してパスワードで保護された ZIP アーカイブを作成するのは簡単なプロセスであり、圧縮ファイルのセキュリティが強化されます。それでは、Python で ZIP アーカイブをパスワードで保護する方法を見てみましょう。

  • まず、ArchiveEntrySettings クラスのオブジェクトを作成し、目的のパスワードで初期化します。
  • 次に、Archive クラスのオブジェクトを作成し、上で作成した ArchiveEntrySettings オブジェクトで初期化します。
  • その後、ファイルとフォルダーを ZIP アーカイブに追加します。
  • 最後に、Archive.save() メソッドを使用して ZIP アーカイブを保存します。

次のコード サンプルは、Python でパスワードで保護された ZIP アーカイブを作成する方法を示しています。

import aspose.zip as az

# アーカイブ設定を作成し、パスワードを設定する
archive_settings = az.saving.ArchiveEntrySettings(None, az.saving.TraditionalEncryptionSettings("password"))

# 複数のファイルを含むアーカイブを作成して保存する
with az.Archive(archive_settings) as archive:        
    # zipにフォルダーを追加
    archive.create_entries("files")

    # zip アーカイブを作成して保存する
    archive.save('protected_archive.zip')

AES暗号化を使用してZIPアーカイブを暗号化する

前の例では、ZIP アーカイブをパスワードで保護するための従来の設定を適用しました。ただし、Aspose.ZIP for Python では、AES 暗号化を使用して ZIP アーカイブを暗号化できます。次の AES 暗号化方式を使用できます。

  • AES128
  • AES192
  • AES256

AES 暗号化を適用するプロセスは、前のセクションで説明したものと同じです。唯一の違いは、アーカイブ設定を定義するときに、TraditionalEncryptionSettings の代わりに AesEcryptionSettings を使用することです。次のコード サンプルは、Python で ZIP アーカイブに AES 暗号化を適用する方法を示しています。

import aspose.zip as az

# アーカイブ設定を作成し、パスワードを設定する
archive_settings = az.saving.ArchiveEntrySettings(None, az.saving.AesEcryptionSettings("pass", az.saving.EncryptionMethod.AES128))

# 複数のファイルを含むアーカイブを作成して保存する
with az.Archive(archive_settings) as archive:        
    # zipにフォルダーを追加
    archive.create_entries("files")

    # zip アーカイブを作成して保存する
    archive.save('protected_archive.zip')

並列圧縮モードの設定

Aspose.ZIP for Python では、並列圧縮設定を使用して ZIP アーカイブ プロセスをカスタマイズすることもできます。この構成は、API にいつ並列圧縮を適用するかを指示します。以下の並列圧縮モードが利用可能です。

  • Never - 並行して圧縮しません。
  • 常に - 並列圧縮を実行します (メモリ不足に注意してください)。
  • 自動 - エントリに対して並列圧縮を使用するかどうかを決定します。このオプションは、一部のエントリを並行してのみ圧縮する場合があります。

以下は、Python で ZIP アーカイブを作成するときに並列圧縮を適用する手順です。

  • まず、Archive クラスを使用して新しいアーカイブを作成します。
  • 次に、(前のセクションで示したように) ZIP アーカイブにファイルまたはフォルダーを追加します。
  • ParallelOptions クラスのインスタンスを作成し、Parallelcompressinmemory プロパティを目的の ParallelCompressionMode 値に設定します。
  • ArchiveSaveOptions クラスのインスタンスを作成します。
  • ParallelOptions オブジェクトを ArchiveSaveOptions.Paralleloptions プロパティに割り当てます。
  • 最後に、Archive.save() メソッドを使用して ZIP アーカイブを保存します。

以下のコード サンプルは、Python でファイルを圧縮するときに並列圧縮を適用する方法を示しています。

# 複数のファイルを含むアーカイブを作成して保存する
import aspose.zip as az

with az.Archive() as archive:        
    # ファイル/フォルダーを zip に追加します
    archive.create_entry("file", "file.txt")
    archive.create_entry("file2", "file2.txt")

    # 並列圧縮のオプションを作成する
    parallelOptions = az.saving.ParallelOptions()
    parallelOptions.parallel_compress_in_memory = az.saving.ParallelCompressionMode.ALWAYS

    # ZIP 保存オプションの作成
    archiveSaveOptions = az.saving.ArchiveSaveOptions()

    archiveSaveOptions.parallel_options = parallelOptions
    archiveSaveOptions.archive_comment = "Files compressed with parallel compression."

    # zip アーカイブを作成して保存する
    archive.save('parallel_compression_archive.zip', archiveSaveOptions)

無料ライセンスを取得する

無料の一時ライセンスを取得して、評価制限なしでファイルを ZIP アーカイブに圧縮できます。

Python ZIP ライブラリ - リソース

次のリソースを使用して、Python ZIP ライブラリについて詳しく調べることができます。

ZIP アーカイブをオンラインにする

Aspose.ZIP for Python を利用した 無料のファイル圧縮アプリケーション をお試しください。

結論

結論として、Aspose.ZIP for Python は、ZIP アーカイブを簡単に作成および管理するための堅牢で多用途のソリューションを提供します。包括的な機能セットにより、開発者は ZIP 機能を Python アプリケーションにシームレスに統合できます。ファイルの圧縮、暗号化の追加、複雑なディレクトリ構造の整理など、Aspose.ZIP はこれらのタスクを合理化するための信頼できるツールキットを提供します。

この記事では、Python で ZIP アーカイブを作成する方法に関する完全なガイドを提供しました。さらに、複数のファイルやフォルダーをアーカイブする方法、パスワードで保護された ZIP アーカイブを作成する方法、AES 暗号化を適用する方法、並列 ZIP 圧縮方法を構成する方法についても説明しました。このライブラリを Python アプリケーションに簡単に統合し、提供されているコード サンプルを使用できます。

こちらも参照