やりたいこと
- あるディレクトリ内の全ファイルを別のフォルダに圧縮
- 圧縮したファイルを元のディレクトリに解凍
ポイント
powershellの時は7zipを使ってコマンドラインから操作していたけれど、他に何かないかと
調べてみたらすごく便利なものがあった
shutilをimportして使う- 圧縮:
shutil.make_archive[圧縮先のパス], [フォーマット], [圧縮したいディレクトリのパス] - [圧縮先のパス]には拡張子は入れない
- 解凍:
shutil.unpack_archive[解凍したいパス], [解凍先] - [解凍したいパス]には拡張子を入れる
- 圧縮:
サンプル
圧縮
importshutil#圧縮したいファイルのディレクトリ
done_dir='C:/test/output/'#圧縮先
output_dir='C:/test/done/testzip'z=done_dirr=output_dir#圧縮
shutil.make_archive(z,'zip',root_dir=r)解凍
#解凍したい圧縮ファイル
zf=f'{z}.zip'#解凍
shutil.unpack_archive(zf,extract_dir=output_dir)