PythonでZipファイルで圧縮したファイルを解凍する

PythonでZipファイルで圧縮したファイルを解凍してみます。

なお、Zipファイルで圧縮したファイルを解凍するために、ZipFileモジュールを使用します。ZipFileモジュールは、Pythonの標準ライブラリですので、事前にインストールする必要はありません。

■Python

今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)

■Zipファイルを用意する

Zipファイルで圧縮したファイルを解凍してみますが、その前に解凍するZipファイルを用意します。

今回用意したは、3つのテキストファイルが圧縮されたZipファイル(sample.zip)を用意しました。

Zipファイルが保存されている場所は「C:\Users\user\test(フォルダパス)」です。

■Zipファイルで圧縮したファイルを解凍する

Zipファイルの用意ができましたので、Zipファイルで圧縮したファイルを解凍するスクリプトを書いていきます。

■コード

from zipfile import ZipFile

with ZipFile(r'C:\Users\user\test\sample.zip','r') as zipObj:
    zipObj.extractall(r'C:\Users\user\test')

インポートでZipFileモジュールを呼び出します。呼び出した後にwith構文で、ZipFile()と記述し、括弧内の第1の引数に、今回用意したZipファイルを指定します。第2の引数には、’r’と記述し、読み込みモードにします。その後、読み込んだZipファイルの情報をzipObj変数に代入します。

代入した後に、読み込んだZipファイルの情報をextractall()と記述し、Zipファイルの中身を展開、解凍します。今回、括弧内にはZipファイルの中身を展開、解凍したファイルを置く場所を指定します。

ZipFile.extract(member, path=None, pwd=None)

なお、extractall()の記述については上記のようになります。第1の引数のmemberは抽出するファイルのフルネーム。第2の引数のpathは、zipファイルを展開する必要がある場所。第3の引数のpwdは、zipファイルが暗号化されている場合、この引数でパスワードを渡します。デフォルトはNoneとなります。

■実行

今回のスクリプトを「unzip_zipfile.py」という名前で保存し、コマンドプロンプトから実行してみます。

実行してみると、今回用意したZipファイルの中身が展開、解凍されて指定した場所に置かれていることが確認できました。

コメント

タイトルとURLをコピーしました