ホームページ  >  記事  >  バックエンド開発  >  Python でディレクトリの ZIP アーカイブを作成するにはどうすればよいですか?

Python でディレクトリの ZIP アーカイブを作成するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-19 01:45:02835ブラウズ

How Can I Create a ZIP Archive of a Directory in Python?

Python でのディレクトリの ZIP アーカイブの作成

ディレクトリ構造の圧縮 ZIP アーカイブの作成は、ソフトウェア開発とデータの一般的なタスクです管理。 Python には、shutil モジュールなど、これを実現するための複数のオプションが用意されています。

shutil.make_archive の使用

ディレクトリの ZIP アーカイブを作成する最も簡単な方法は、 shutil.make_archive 関数。この関数は ZIP 形式と TAR 形式の両方をサポートしているため、さまざまなアーカイブ ニーズに多用途に対応できます。

shutil.make_archive を使用するには、次のパラメータを指定します。

  • 出力ファイル名: 希望する名前とZIP アーカイブの場所。
  • 形式: ZIP の場合は「zip」を指定します。 archive.
  • ディレクトリ名: アーカイブするディレクトリへのパス。

例を次に示します:

import shutil
shutil.make_archive("my_archive", "zip", "/path/to/my_directory")

このコマンドは ZIP アーカイブを作成します現在のディレクトリに「my_archive.zip」という名前が付けられ、指定されたファイルの内容が含まれますdirectory.

zipfile モジュールの探索

アーカイブ プロセスをさらに制御する必要がある場合は、zipfile モジュールの探索を検討してください。これにより、ZIP アーカイブを作成および操作するための下位レベルのアクセスが提供され、オプションのカスタマイズ、特定のファイルのスキップ、さらにはメタデータの追加が可能になります。

たとえば、特定のファイル パターンを除外して ZIP アーカイブを作成するには:

import zipfile
with zipfile.ZipFile("my_archive.zip", "w") as zip:
    for root, dirs, files in os.walk("/path/to/my_directory"):
        for filename in files:
            if not filename.endswith(".txt"):
                zip.write(os.path.join(root, filename), filename)

このコードは、「.txt」拡張子を持つファイルをスキップして、ファイルを反復処理します。

以上がPython でディレクトリの ZIP アーカイブを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。