2017-04-05 6 views
0

여러 개의 gzip 압축 파일을 포함하는 tar 파일이 있다고 가정 해 봅니다. tar 파일이나 개별 gzip 파일을 압축하지 않고 gzip 파일의 내용을 읽을 수 있기를 원합니다. 파이썬에서 tarfile 모듈을 사용하려고합니다.tar에서 gz 압축 파일을 읽는 방법

답변

1

이 방법이 효과가 있을지 모르지만 테스트하지는 않았지만 주요 아이디어 및 관련 도구가 있습니다. 그것은 타르에있는 파일을 반복 할 때, 그들이 gzip으로 압축하는 경우, 다음 변수 file_contents로 읽습니다 :

import tarfile as t 
import gzip as g 
for member in t.open("your.gz.tar").getmembers(): 
    fo=t.extractfile(member) 
    file_contents = g.GzipFile(fileobj=fo).read() 

참고 : 파일이 메모리에 너무 큰 경우, 다음 (스트리밍 된 판독기에보고 고려 청크에 의한 청크)를 링크로 사용합니다.

당신은 추가 논리 당신이 사용할 수있는 것처럼 멤버 (TarInfo)이 객체가 어떻게 생겼는지를 기반으로 한 경우 :

참조 :

관련 문제