[Python] tar.tz 내용을 특정 위치에 풀기 Develop Tip

tar (혹은 tar.gz 으)로 묶인 파일이 있습니다.
게 중에서 xml 파일만을 선택하여, 특정 위치에
압축 해제를 하고 싶습니다.

이것을 파이썬으로 해 보겠습니다.

tarfile 이라는 (배터리 ^^)모듈을 이용하면 됩니다.

import tarfile
##########################################################################################
def untgz(tgzfile, tmp_dir):
if not os.path.exists(tmp_dir): os.mkdir(tmp_dir)
with tarfile.open(tgzfile, "r:gz") as tar:
for tarinfo in tar:
if not (tarinfo.isreg() and tarinfo.name.endswith('.xml')):
continue
tarinfo.name = os.path.basename(tarinfo.name)
tar.extract(tarinfo, tmp_dir)
return tmp_dir

위와 같은 
함수를 만들고

untgz('foo.tgz', '/tmp/xml')
와 같은 식으로 호출하면 됩니다.

막상 필요할 때 찾으면 딱 안나오는 샘플이라,
올려봅니다.


어느분께는 도움이 되셨기를...


덧글

댓글 입력 영역

구글애드텍스트