🐈

【Python】tarを使った圧縮と展開

2022/02/15に公開

本記事について

本記事では、pythonでのtarを使った圧縮・展開方法を紹介しています。
各説明で利用する圧縮・展開対象の構成は以下の通り。

圧縮・展開対象
tar_dir  
├─ sub_dir
│  └─ tar_test_sub.txt
│ 
└─ tar_test.txt

tarを使った圧縮

以下の方法でtar形式の圧縮ファイル(test.tar.gz)を作成。

import tarfile

with tarfile.open('test.tar.gz', 'w:gz') as tar:
    tar.add('tar_dir')

コマンドでの展開方法

圧縮したファイル(test.tar.gz)をコマンドで展開する場合は以下の通り。

tar zxvf test.tar.gz -C /tmp

tarを使った展開

圧縮したファイル(test.tar.gz)をpythonで展開する場合は以下の通り。

import tarfile

with tarfile.open('test.tar.gz', 'r:gz') as tar:
    tar.extractall(path='test_tar')

展開せずに中身を参照

tarファイルの中身は、次の方法で展開せずに中身を確認することができます。

import tarfile

with tarfile.open('test.tar.gz', 'r:gz') as tar:
    with tar.extractfile('tar_dir/sub_dir/tar_test_sub.txt') as f:
        print(f.read())

Discussion