【Python】gzipファイルを解凍する方法を解説

この記事では、Pythonを使用してgzipファイルを解凍する方法を解説します。

gzipモジュール、shutilモジュール、subprocessモジュールのそれぞれの方法を紹介しますので、初心者の方でも簡単に理解できる内容です。

目次から探す

Pythonでgzipファイルを解凍する方法

gzipファイルは、圧縮されたファイル形式の一つであり、Pythonを使用して解凍することができます。

ここでは、gzipモジュール、shutilモジュール、subprocessモジュールを使用して、それぞれの方法を解説します。

gzipモジュールを使用する方法

gzipモジュールは、Pythonの標準ライブラリに含まれており、gzipファイルを解凍するための関数を提供しています。

import gzip
def decompress_gzip_file(file_path, output_path):
    with gzip.open(file_path, 'rb') as f_in:
        with open(output_path, 'wb') as f_out:
            f_out.write(f_in.read())
# 使用例
decompress_gzip_file('sample.gz', 'output.txt')

上記のコードでは、decompress_gzip_fileという関数を定義しています。

この関数は、file_pathで指定されたgzipファイルを解凍し、output_pathで指定されたパスに解凍後のファイルを保存します。

shutilモジュールを使用する方法

shutilモジュールは、Pythonの標準ライブラリに含まれており、ファイル操作に関する便利な関数を提供しています。

gzipファイルを解凍するためには、shutilモジュールのunpack_archive関数を使用することができます。

import shutil
def decompress_gzip_file(file_path, output_path):
    shutil.unpack_archive(file_path, output_path, 'gzip')
# 使用例
decompress_gzip_file('sample.gz', 'output')

上記のコードでは、decompress_gzip_fileという関数を定義しています。

この関数は、file_pathで指定されたgzipファイルを解凍し、output_pathで指定されたディレクトリに解凍後のファイルを保存します。

subprocessモジュールを使用する方法

subprocessモジュールは、Pythonの標準ライブラリに含まれており、外部プロセスを実行するための関数を提供しています。

gzipファイルを解凍するためには、subprocessモジュールを使用してgzipコマンドを実行することができます。

import subprocess
def decompress_gzip_file(file_path, output_path):
    subprocess.run(['gzip', '-d', '-c', file_path], stdout=open(output_path, 'wb'))
# 使用例
decompress_gzip_file('sample.gz', 'output.txt')

上記のコードでは、decompress_gzip_fileという関数を定義しています。

この関数は、file_pathで指定されたgzipファイルを解凍し、output_pathで指定されたパスに解凍後のファイルを保存します。

以上がPythonでgzipファイルを解凍する方法です。

gzipモジュール、shutilモジュール、subprocessモジュールのいずれかを使用して、gzipファイルを解凍することができます。

適切な方法を選択し、自分のプログラムに組み込んでみてください。

目次から探す