

目次
pythonでzipファイルを解凍・圧縮する概要
オフィス環境では書類などのサイズの大きいファイルはzipで圧縮されていることが多いです。
この圧縮ファイルを扱う為にはまずはファイルを解凍しなければなりませんが、圧縮ファイルの数が多い場合や、パスワードがかかっているとなると、手作業が多くなって業務効率が悪くなります。
この記事では、pythonを使ったzip圧縮方法と解凍方法を説明します。
pythonでzipファイルを解凍・圧縮する前提の環境
zipファイルを圧縮・解凍する前提の環境は、下の記事で説明している私の環境と同じ環境で確認しています。
-
-
【python】バージョン確認の方法【→プログラミング初心者向け】
続きを見る
レンタルサーバなどのLinuxサーバを使っている場合は、下の記事でプログラミングする環境の作り方を説明しています。
もし、まだプログラムする環境ができていない方は、先にこちらの記事を読んで、プログラミングできる環境をつくることをおすすめします。
-
-
レンタルサーバでプログラミングする方法【→ブログのサーバでできる!】
続きを見る
pythonでzipファイルを解凍・圧縮するサンプルプログラム
ここでは、「zip解凍する関数」と「zip圧縮する2つの関数」を定義するプログラムを書き、それらの2つを実行するプログラムによって、zip解凍と圧縮する方法を説明します。
ライブラリをインポートする
まず初めに、必要なライブラリをインポートします。
zipファイルの扱いに必要なzipfileライブラリをインポートしています。
import zipfile
zipファイルを解凍する
次に、zipファイルを解凍する関数の定義して、zip解凍方する法を説明します。
現在実行しているpythonファイルのカレントディレクトリにある、zip_nameで指定されたzipファイルをextractall()を使って解凍します。
def decompress(zip_name):
with zipfile.ZipFile('./' + zip_name) as zf:
zf.extractall()
zipファイルを圧縮する
次に、zipファイルを圧縮する関数を定義して、zip圧縮する方法を説明します。
現在実行しているpythonファイルのカレントディレクトリにある、fileで指定されたzipファイルをwrite(()を使ってzipファイルに書き出します。
def compress(file):
with zipfile.ZipFile('./' + file + '.zip', "w", zipfile.ZIP_DEFLATED) as zf:
zf.write( file, file)
定義した関数の実行処理
ここでは、zipファイル名をtest.txt.zipと定義し、上記で定義した2つの関数の呼び出しを行います。
if __name__ == '__main__':
zip_name = 'test.txt.zip'
compress(zip_name)
decompress(zip_name)
pythonで業務効率化するその他の方法
この記事では、圧縮ファイルの数が多い場合や、パスワードがかかっている場合の作業業務効率化のために、pythonを使ったzip圧縮方法と解凍方法を説明しました。
zip圧縮方法と解凍方法以外にも、pythonには、業務効率化できる手段がたくさんあります。
下記の記事に、普段オフィス環境で使われるツールを使って業務効率化できる方法をまとめていますので、ぜひ合わせて読んで取り組んでみてください。
-
-
【python】業務効率化の方法8選【→周りを出し抜く自動化】
続きを見る