[Python] ファイル圧縮、解凍(zipfile)する方法
こんにちは。明月です。この投稿はpythonでファイル圧縮、解凍(zipfile)する方法に関する説明です。プログラムのプロジェクトを開発する時に圧縮ファイルをよく使います。圧縮ファイルの長所はファイルサイズを減らすこともあるし、複数のファイルを一つのファイルで管理するために使う時もあります。そのため、pythonに圧縮ファイル(zip)を扱うライブラリがありますが、それがzipfileモジュールです。link - https://docs.python.org/3/library/zipfile.htmlまず、zip圧縮ファイルを作成する例です。zipfileでオプションがあります。ioと似ているな概念ですが'r','w','a','x'があります。wとxはファイルを作成するためのオプションですが、wはファイルが存在する場合に削除した後に新しく作成します。xはファイルが存在する場合にfileexistserrorエラーを発生します。aの場合は、存在するファイルに追加のファイルを挿入するか、変更するときに使用されます。rの場合は、zipファイルを読んでオプションです。結果を見れば、apacheのソースを圧縮しましたが、text.txtファイルとtext1.txtを追加されました。上の例は圧縮ファイルを解凍するソースです。まず、zipで必ず解凍しなくてもopenとreadで読み込んでファイルを書き出しができます。参考で上の例ではzipfile.zipfileの関数に圧縮ファイルを入れてstreamタイプのデータを読み込んて処理ができます。socket通信間に圧縮送受信する時、ローカルのディスクに圧縮を解凍しなくても圧縮ファイルのデータを読み込まれます。結果は上のtext.txtファイルとtext1.txtファイルだけ読み込んでコンソール出力しました。結果は「hello world!!」と「hello world string!!」の結果が出ました。pythonではzipfileモジュールでzipファイル内でファイルを別に削除する機能がないです。解凍して、ファイルを除いて再圧縮することですることしかないです。ここまでpythonでファイル圧縮、解凍(zipfile)する方法に関する説明でした。ご不明なところや間違いところがあればコ