- Pythonで圧縮ファイルを扱う機会があったので、調べて試した
- 今回はモジュール
shutil
を利用zipfile
モジュールでも同じことができそうshutil
の方が汎用性高そうだったので、こちらを採用
使い方を確認
-
shutil
はモジュールなのでimport
が必要import shutil
-
圧縮は
shutil.make_archive
shutil.make_archive(【圧縮先】,【圧縮拡張子】,【圧縮するディレクトリ】)
-
解凍は
shutil.unpack_archive
shutil.unpack_archive解凍(【解凍したいファイル】,【解凍したファイルの配置先】)
コードと確認
- 今回はコード実行のカレントディレクトリに各ファイルを用意する
- 普通のテキストファイルを用意 →
test_in
- 圧縮してディレクトリに入れる →
test_zip
- 圧縮したファイルを解凍 →
test_unzip
- 普通のテキストファイルを用意 →
- コード実行前は
test_in
にtest.txt
がある - コード実行後に
test_zip
に圧縮ファイルtest_unzip
に解凍ファイル(test_in
と同じファイル)
があることが成功条件
コード実行前のファイル
test_in
にのみファイルがある状態
コード
import shutil
# 圧縮 (【圧縮先】, 【圧縮拡張子】, 【圧縮するディレクトリ】)
shutil.make_archive("./test_zip/test", "zip", "./test_in/")
# 解凍(【解凍したいファイル】, 【解凍したファイルの配置先】)
shutil.unpack_archive("./test_zip/test.zip", "./test_unzip/")
コード実行後のファイル
test_zip
、test_unzip
にファイルができたことが確認できた
コメント