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)