この記事では、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ファイルを解凍することができます。
適切な方法を選択し、自分のプログラムに組み込んでみてください。