python

【python】zipファイルを解凍・圧縮する方法【→業務効率UP】

8月 8, 2019

how to zip and unzip by python
プログラム女子
職場で、ZIPファイルをやり取りすることが多いんだけど、数が多いから一気に解凍する方法ないのかな...
pythonの「zipfile」というライブラリを使えば、一気に解凍できるよ。今回は、このライブラリを使って、zip解凍と圧縮する方法を紹介するね。
Tommy

この記事で分かること

  • pythonプログラムでzip形式の圧縮ファイルに圧縮する方法が分かる
  • pythonプログラムでzip形式の圧縮ファイルを解凍する方法が分かる

pythonでzipファイルを解凍・圧縮する概要

summary of zip and unzip

オフィス環境では書類などのサイズの大きいファイルはzipで圧縮されていることが多いです。この圧縮ファイルを扱う為にはまずはファイルを解凍しなければなりませんが、圧縮ファイルの数が多い場合や、パスワードがかかっているとなると、手作業が多くなって業務効率が悪くなります。

pythonプログラムを用いると、zip形式ファイルを解凍したり、zip形式に圧縮することができます。この記事では、pythonを使ったzip圧縮方法と解凍方法を説明します。

pythonでzipファイルを解凍・圧縮する前提の環境

environment of zip and unzip

zipファイルを圧縮・解凍する前提の環境は、下の記事で説明している私の環境と同じ環境で確認しています。

オススメ
how to check version in python
【python】バージョン確認の方法【→プログラミング初心者向け】

続きを見る

レンタルサーバなどのLinuxサーバを使っている場合は、下の記事でプログラミングする環境の作り方を説明しています。

もし、まだプログラムする環境ができていない方は、先にこちらの記事を読んで、プログラミングできる環境をつくることをおすすめします。

オススメ
how to programming on rental server
レンタルサーバでプログラミングする方法【→ブログのサーバでできる!】

続きを見る

pythonでzipファイルを解凍・圧縮するサンプルプログラム

sample program of zip and unzip

ここでは、「zip解凍する関数」と「zip圧縮する2つの関数」を定義するプログラムを書き、それらの2つを実行するプログラムによって、zip解凍と圧縮する方法を説明します。

ライブラリをインポートする

まず初めに、必要なライブラリをインポートします。下のソースコードでは、zipファイルの扱いに必要なzipfileライブラリをインポートしています。

import zipfile

zipファイルを解凍する

次に、zipファイルを解凍する関数の定義して、zip解凍方する法を説明します。現在実行しているpythonファイルと同じディレクトリ(カレントディレクトリ)に存在するzip_nameで指定されたzipファイルを解凍することにします。zipファイルの解凍には、「extractall」という関数を使って解凍します。

def decompress(zip_name):
    with zipfile.ZipFile('./' + zip_name) as zf:
        zf.extractall()

zipファイルを圧縮する

次に、zipファイルを圧縮する関数を定義して、zip圧縮する方法を説明します。現在実行しているpythonファイルと同じディレクトリ(カレントディレクトリ)に存在する変数「file」で指定されたファイル名でzip圧縮します。圧縮するためには、関数「write」を使ってファイルに書き出します。

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で業務効率化するその他の方法

other way of business efficiency by python

この記事では、圧縮ファイルの数が多い場合や、パスワードがかかっている場合の作業業務効率化のために、pythonを使ったzip圧縮方法と解凍方法を説明しました。

zip圧縮方法と解凍方法以外にも、pythonには、業務効率化できる手段がたくさんあります。

下記の記事に、普段オフィス環境で使われるツールを使って業務効率化できる方法をまとめていますので、ぜひ合わせて読んで取り組んでみてください。

オススメ
8 ways for business efficiency by python
【python】業務効率化の方法8選【→周りを出し抜く自動化】

続きを見る

-python
-

© 2021 Tommy's blog Powered by AFFINGER5