Python에서 gzip 파일 읽기
이 자습서에서는 파일 압축의 중요성에 대해 설명하고 Python의 gzip
모듈을 사용하여 파일을 압축 및 압축 해제하는 방법을 보여줍니다.
Python의 gzip
모듈
이 모듈은 GNU 프로그래머인 gzip
및 gunzip
과 같은 파일을 압축 및 압축 해제하기 위한 간단한 인터페이스를 제공합니다. 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 is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.
LinkedIn