Pythonでzipファイルを圧縮・解凍する

この記事はアフィリエイト広告を利用しています。

Pythonでフォルダをzipファイルに圧縮するコードです。
引数に圧縮したいフォルダの絶対パスを指定すると、同じ階層のフォルダ内に(圧縮対象のフォルダ名.zip)で出力されます。
エラー処理は行っていません。
コードをそのままコピーして動きます。(Python3.13.3で動作確認済み)

import shutil
import os

def zipping(dir_path:str):
    """
    ディレクトリをzipファイルに圧縮する

    Args:
        dir_path (str) : ディレクトリパス
    """
    # 圧縮するディレクトリ名を取得
    output_filename = os.path.splitext(os.path.basename(dir_path))[0]

    # ディレクトリパス
    output_dir = os.path.dirname(dir_path)

    # 出力先 圧縮するディレクトリの場所に解凍する
    output = os.path.join(output_dir,output_filename)

    # 圧縮
    shutil.make_archive(base_name = output,format="zip",root_dir=output_dir, base_dir=output_filename )

Pythonでzipファイルを解凍するコードです。
引数にzipファイルの絶対パスを指定すると、同じ階層のフォルダ内に(zipファイル)で出力されます。
エラー処理は行っていません。
コードをそのままコピーして動きます。(Python3.13.3で動作確認済み)

import shutil
import os

def unzip(file_path:str):
    """
    zipファイルを解凍する

    Args:
        file_path (str) : zipファイルパス
    """
    # zipファイル名を取得
    output_dirname = os.path.splitext(os.path.basename(file_path))[0]

    # ディレクトリパス
    output_dir = os.path.dirname(file_path)

    # 出力先 zipファイルの場所に解凍する
    output = os.path.join(output_dir,output_dirname)

    # 解凍
    shutil.unpack_archive(file_path, output)