import zipfile
import os
base = '/home/ubuntu/claude_fullset'
zippath = '/home/ubuntu/claude_fullset_FINAL.zip'
with zipfile.ZipFile(zippath, 'w', zipfile.ZIP_DEFLATED) as zf:
for root, dirs, files in os.walk(base):
for file in files:
filepath = os.path.join(root, file)
arcname = os.path.relpath(filepath, os.path.dirname(base))
zf.write(filepath, arcname)
size = os.path.getsize(zippath)
print(f'ZIP作成完了: {zippath}')
print(f'ファイルサイズ: {size/1024:.1f} KB')
# 内容確認
with zipfile.ZipFile(zippath, 'r') as zf:
names = sorted(zf.namelist())
print(f'収録ファイル数: {len(names)}')
for n in names:
print(f' {n}')
ZIP生成スクリプト: claude_fullset全体を再帰圧縮(FINAL)
元ファイル: システム要件定義の分析と汎用化方法/make_final_zip.py
要約
os.walkでclaude_fullsetディレクトリを再帰走査し、全ファイルをclaude_fullset_FINAL.zipへまとめるPythonスクリプト。生成後にファイルサイズと収録ファイル数・一覧を出力して確認する、最終配布物の一括パッケージング処理。
要点
- os.walkでディレクトリ全体を再帰的にZIP化
- ZIP_DEFLATED圧縮で claude_fullset_FINAL.zip を生成
- 相対パスをarcnameに使用しディレクトリ構造を保持
- 生成後にサイズ(KB)と収録ファイル数を表示