Está precisando criar um arquivo tar dentro de um código Python ? Esta semana tive uma necessidade deste tipo e achei uma solução bem interessante.
A solução, na realidade, está ligada ao uso do módulo tarfile, que fornece uma API para um trabalho tranquilo e rápido de criação de arquivos tar.
Bom, vamos deixar de discurso e vamos direto ao nosso primeiro exemplo :
Primeiro, temos um diretório de nome /home/usuario/sistema que preciso efetuar uma compactação todos os dias para que o meu robô de backup pegue ele. Este robô faz backup todos os dias do diretório /backup.
Para resolver este problema, podemos fazer o código do seguinte modo :
import tarfile
tar = tarfile.open("/backup/sistema.tar", "w")
tar.add('/home/usuario/sistema/')
tar.close()
O código é praticamente auto-explicativo. Como o tar é um arquivo, a função tarfile.openfile ( valeu Gustavo, pela correção :) ) abre um arquivo tar para escrita, efetuando logo depois via tar.add a adição do que você precisa efetuar de adição no seu arquivo tar.
Poderíamos trabalhar também com o conteúdo de um diretório ( os.listdir() ) e outras funções, criando um for para adicionar isto ao nosso arquivo, ou seja, no fim, é só trabalhar com a criatividade.
Para mais exemplos de como manipular este tipo de arquivo via Python, é só dar um pulo aqui no site do próprio Python :-)