LifeScience Hack

生物系創薬研究者がAI(誇大表示)を手に入れるまでの過程(Python、Deep Learning、ライフサイエンス)

Pythonでtar.gzファイルを解凍する

次世代シークエンサーの登場により、最近は数十Gから数百Gといった巨大なデータを扱うことが多くなってきました。
それに伴い、最近はLinux等で見られるtarファイルやtar.gzファイルを解凍する機会も多いです。
そこで、今回はPythonでこれらのファイルを解凍する方法を記載します。

ファイルの種類について

tar、tar.gzとは

tarファイルはアーカイブといって、
複数のファイルを1つにまとめただけの非圧縮ファイルです。
tar.gzはそんなtarファイルを圧縮したファイルとなります。

Windowsだと、Lhaplus7-zipで解凍できるのですが、
Lhaplusでは2G以上のファイルは解凍できず、
7-zipでもエラーが頻発して困っていました。

そんな時、pythonでもtar.gzを解凍できることを知りましたので、 備忘録的に記しておきます。

解凍のためのスクリプト

では、実際にファイルを解凍していきましょう!!

tar.gzの解凍と保存

ディレクトリの移動

まずは、解凍したいtar.gzファイルのあるディレクトリに移動します。
ディレクトリの移動はosを使います。

import os
os.chdir('移動先のファイルパス')
os.getcwd()
#目的のディレクトリに移動できていることを確認

ディレクトリの移動などPythonの基本的な使い方につきましては、以下の本を参考に勉強しましたので、
参考にしてください。

Pythonスタートブック [増補改訂版]

Pythonスタートブック [増補改訂版]

  • 作者:辻 真吾
  • 発売日: 2018/04/12
  • メディア: 大型本

tar.gzファイルの解凍

tar.gzの解凍には、tarfileライブラリを用います。
tarfile.open('filename', 'r = gz')で解凍できます。
filenameの部分は各自で変更してください。

import tarfile

file = tarfile.open('ファイル名', 'r = gz')
file.extractall()
file.close()

これで、Pythonでもtar.gzファイルが解凍できました。