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