zipfileモジュールでファイルを圧縮してみた

はじめに

Xでつぶやいた通り、Progateを進めている。

zipfileというPythonの標準ライブラリを使用している。

いまいち実感が持てていないので、自分の目で確かめたいと思った。

参考サイト

PythonでZIPファイルを圧縮・解凍するzipfile | note.nkmk.me

こちらの記事を参考にさせていただきました。

前提条件

以下のようなファイル構成。sample.zipはもともと存在しなかった。

最初に出したエラー

zip.pyを実行したら、SyntaxError: expected ‘:’ となってしまった。

3行目の末尾の : を書いていなかったのが原因。以下の画像は、エラー解消後。

次に出したエラー

IndentationError: expected an indented block after ‘with’ statement on line 3

4行目のzf.writeの処理を書いていなかったのが原因。

sample.textをsample.zipに圧縮することができた

すでに記述した画像を使用する。

以下の処理を書いて、

zip.pyを実行すると、

同階層にzipファイルが作成された。

処理について解説

1行目で、zipfileモジュールをインポートしている。

3〜4行目で、with文を使用。with文は、終了の処理を書く必要がない。

3行目のzipfile.ZipFile(‘sample.zip’, ‘w’) as zfでは、書き込みモードで、zfという名前のZipFileオブジェクトを生成している。

ZipFileの第一引数には、新規作成するZIPファイルのパスを指定する。

第二引数には、モードを指定する。今回は書き込みを指定した。

4行目では、zfに対してwriteメソッドを使用することで、ZIPファイルを生成している。引数に渡されたファイルがZIPファイルに変換される。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

投稿ID : 22980