Python에서 gzip 파일 읽기

Zeeshan Afridi 2023년6월21일
  1. Python의 gzip 모듈
  2. 파일 압축의 중요성
  3. Python에서 gzip으로 파일 압축
  4. Python의 gzip 파일에서 읽기
  5. Python에서 gzip 파일 압축 해제
Python에서 gzip 파일 읽기

이 자습서에서는 파일 압축의 중요성에 대해 설명하고 Python의 gzip 모듈을 사용하여 파일을 압축 및 압축 해제하는 방법을 보여줍니다.

Python의 gzip 모듈

이 모듈은 GNU 프로그래머인 gzipgunzip과 같은 파일을 압축 및 압축 해제하기 위한 간단한 인터페이스를 제공합니다. gzip 모듈은 GzipFile 클래스와 open(), compress()decompress() 편의 메서드를 제공합니다.

gzip 모듈은 gzip 형식으로 파일을 읽고 쓰며 내용을 압축하거나 압축 해제하여 기존 파일 개체처럼 보이게 합니다.

‘gzip’은 가장 널리 사용되는 파일 압축/압축 해제 형식 중 하나입니다. 텍스트 파일은 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 Afridi avatar Zeeshan Afridi avatar

Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.

LinkedIn

관련 문장 - Python File