Python で gzip ファイルを読み取る
-
Python の
gzip
モジュール - ファイル圧縮の重要性
-
Python で
gzip
を使用してファイルを圧縮する -
Python で
gzip
ファイルから読み取る -
Python で
gzip
ファイルを解凍する
このチュートリアルでは、ファイルを圧縮することの重要性について説明し、Python の gzip
モジュールを使用してファイルを圧縮および解凍する方法を示します。
Python の gzip
モジュール
このモジュールは、GNU プログラマー gzip
や gunzip
のようなファイルを圧縮および解凍するための簡単なインターフェースを提供します。 gzip
モジュールは GzipFile
クラスと open()
、compress()
、および decompress()
便利なメソッドを提供します。
gzip
モジュールは、gzip
形式でファイルを読み書きし、コンテンツを圧縮または解凍して、従来のファイル オブジェクトのように見せます。
gzip
は、最も広く使用されているファイル圧縮/解凍形式の 1つです。 テキスト ファイルは、gzip
圧縮を使用することでストレージ スペースを大幅に節約できます。 大きなデータ ファイルを扱う場合、大きなテキスト ファイルをgzip
または圧縮してファイル サイズを小さくするのが一般的です。
圧縮されたgzip
ファイルを解凍し、解凍されたはるかに大きなファイルを行ごとに編集することは、圧縮ファイルを操作するための基本です。 ただし、それはおそらく最も優れたオプションではありません。
ファイル圧縮の重要性
ストレージ ハードウェア、データ転送時間、および通信帯域幅の削減は、圧縮のメリットのほんの一部です。 さらに、これは大幅な経済的節約につながる可能性があります。
圧縮されたファイルは、圧縮されていないファイルよりもはるかに少ないストレージ容量を必要とするため、ストレージのコストが大幅に削減されます。 さらに、圧縮されたファイルは、より少ないネットワーク容量を使用しながら、より高速に転送されます。
これにより、生産性を高めながら支出を節約できます。 データ圧縮の主な欠点は、必要なデータを圧縮するために、より多くの計算能力を使用することです。
その結果、圧縮プロバイダーは、集中的な圧縮アクティビティの影響を軽減するために、速度とリソース効率を最大化することに高い価値を置いています。 その結果、コストを削減しながら生産性を向上させることができます。
Python で gzip
を使用してファイルを圧縮する
以下の例では、テキスト ファイルを wb
モードで開いているということは、ファイルがバイナリ モードで書き込み可能であることを意味します。 ここでは、ファイル test.txt
を test.txt.gz
に変更します。
コード例:
import gzip
f_in = open("test.txt", "rb")
f_out = gzip.open("test.txt.gz", "wb")
f_out.writelines(f_in)
f_out.close()
f_in.close()
print("The file is compressed.")
出力:
The file is compressed.
gzip
モジュール使用時のデータ追加
以下のコードでは、追加したい任意のデータを既存のファイル test.txt.gz
に追加できることを示していますが、バイナリ モードでしかデータを追加できないため、冒頭で b
を使用しています。 正常に追加されました
というメッセージが表示されます。
コード例:
import gzip
data = b"Information included in this file."
with gzip.open("test.txt.gz", "wb") as f:
f.write(data)
print("successfully added")
出力:
successfully added
Python で gzip
ファイルから読み取る
バイナリ形式でテキストを追加したため、次のコードでファイルを読み取ることができます。 次に、そのテキストを次のように出力に表示します。 バイナリ ファイルは読み取り用に rb
モードで開かれるため、オープニング ファイルには rb
を使用しました。
コード例:
import gzip
with gzip.open("test.txt.gz", "rb") as f:
for line in f:
print(line)
出力:
b'Information included in this file.'
Python で gzip
ファイルを解凍する
次の例では、最初に解凍されたファイルを開き、次に圧縮されたファイルを開き、shutil
を使用して、解凍されたファイルから圧縮されたファイルにオブジェクトをコピーします。
コード例:
import gzip
import shutil
with gzip.open("test.txt.gz", "rb") as f_in:
with open("test.txt", "wb") as f_out:
shutil.copyfileobj(f_in, f_out)
print("The file is Decompressed.")
出力:
The file is Decompressed.
ここでは、覚えておく必要のある重要な事項をいくつか紹介します。 まず、gzip
ファイルを作成するには、テキスト ファイルを gz
ファイルに変換する必要があります。 基本的に、ファイルを圧縮する必要があります。
バイナリ モードのみ wb
でファイルを書き込み、バイナリ モード rb
でファイルを読み取り、圧縮ファイルを解凍することができます。
Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.
LinkedIn