工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> Python

PythonでZIPアーカイブ作成:ディレクトリ全体からカスタムファイル選択まで

PythonでZIPアーカイブ作成:ディレクトリ全体からカスタムファイル選択まで

Pythonでは、ディレクトリ全体を圧縮する場合も、特定のファイルを選択する場合も、ZIPやTARアーカイブの作成が簡単です。

ディレクトリ全体を一括でZIPするにはshutil.make_archiveを使用:

shutil.make_archive(output_filename, 'zip', dir_name)

細かい制御が必要な場合は、zipfile.ZipFileクラスで個別ファイルを指定:

ZipFile.write(filename)

ステップ1: 環境の準備

ステップ2: ディレクトリ全体をZIP化

フォルダ内のすべてをアーカイブする場合はmake_archiveを使用:

root_dir, _ = path.split(src)
make_archive("guru99_archive", "zip", root_dir)

これによりカレントワーキングディレクトリにguru99_archive.zipが作成されます。

ステップ3: 特定ファイルを新しいZIPに追加

細かい制御が必要な場合はZipFileクラスが最適:

with ZipFile("testguru99.zip", "w") as newzip:
    newzip.write("guru99.txt")
    newzip.write("guru99.txt.bak")

with文でブロック終了時にアーカイブが自動クローズされます。

ステップ4: 結果の確認

生成されたZIPファイルをOSのファイルエクスプローラーで開いて内容を確認。Windowsではダブルクリックで含まれるファイルの一覧が表示されます。

典型的なワークフローのスクリーンショット:

PythonでZIPアーカイブ作成:ディレクトリ全体からカスタムファイル選択まで

PythonでZIPアーカイブ作成:ディレクトリ全体からカスタムファイル選択まで

PythonでZIPアーカイブ作成:ディレクトリ全体からカスタムファイル選択まで

PythonでZIPアーカイブ作成:ディレクトリ全体からカスタムファイル選択まで

PythonでZIPアーカイブ作成:ディレクトリ全体からカスタムファイル選択まで

PythonでZIPアーカイブ作成:ディレクトリ全体からカスタムファイル選択まで

PythonでZIPアーカイブ作成:ディレクトリ全体からカスタムファイル選択まで

完全なコード(Python 3):

import os
from shutil import make_archive
from zipfile import ZipFile
from os import path

def main():
    if path.exists("guru99.txt"):
        # ソースファイルの絶対パス取得
        src = path.realpath("guru99.txt")
        # オプション: 既存ファイルをリネーム
        os.rename("career.guru99.txt", "guru99.txt")
        # ファイルを含むディレクトリ全体をアーカイブ
        root_dir, _ = path.split(src)
        make_archive("guru99_archive", "zip", root_dir)
        # 選択したファイルのみで2つ目のZIPを作成
        with ZipFile("testguru99.zip", "w") as newzip:
            newzip.write("guru99.txt")
            newzip.write("guru99.txt.bak")

if __name__ == "__main__":
    main()

まとめ

Python

  1. PythonファイルI/O:ファイル操作、読み書き、管理のマスター
  2. Python strip()メソッド完全ガイド:実践例付き
  3. Python str.count()マスター:文字と部分文字列のカウント実例集
  4. Python round()関数を実例で徹底解説
  5. Python map()関数をマスター:構文、例、ベストプラクティス
  6. Python timeit():実行時間測定の実例付きガイド
  7. Python collections.Counter:効率的なカウント、更新、演算操作
  8. Python list.count() 完全ガイド:実践例付きで徹底解説
  9. Python list.index():要素の位置を検索する実践ガイド
  10. Python C拡張プログラミング:高速ネイティブモジュールの構築
  11. Java BufferedReader でファイル読み込み:実践ガイドと例