Tarfile em Python: Posso descompactar com mais eficiência extraindo apenas alguns dados?

Estou pedindo uma enorme quantidade de cenas do USGS, que vêm como arquivos tar.gz. Estou escrevendo um script python simples para descompactá-los. Cada arquivo contém 15 imagens tiff com tamanho de 60 a 120 mb, totalizando pouco mais de 2 GB. Posso extrair facilmente um arquivo inteiro com o seguinte código:

import tarfile
fileName = "LT50250232011160-SC20140922132408.tar.gz"
tfile = tarfile.open(fileName, 'r:gz')
tfile.extractall("newfolder/")

Na verdade, eu só preciso de 6 desses 15 tiffs, identificados como "bandas" no título. Esses são alguns dos arquivos maiores, e juntos eles representam cerca de metade dos dados. Então, pensei em acelerar esse processo modificando o código da seguinte maneira:

fileName = "LT50250232011160-SC20140922132408.tar.gz"
tfile = tarfile.open(fileName, 'r:gz')
membersList = tfile.getmembers()
namesList = tfile.getnames()
bandsList = [x for x, y in zip(membersList, namesList) if "band" in y]
print("extracting...")
tfile.extractall("newfolder/",members=bandsList)

No entanto, adicionar um cronômetro aos dois scripts não revela ganho de eficiência significativo do segundo script (no meu sistema, ambos são executados em cerca de um minuto em uma única cena). Embora a extração seja um pouco mais rápida, parece que esse ganho é compensado pelo tempo necessário para descobrir quais arquivos precisam ser extraídos no primeiro lugar.

A questão é: essa troca é inerente ao que estou fazendo ou apenas o resultado do meu código ser ineficiente? Sou relativamente novo em python e descobri o tarfile apenas hoje, portanto não me surpreenderia se o último fosse verdade, mas não consegui encontrar nenhuma recomendação para a extração eficiente de apenas parte de um arquivo.

Obrigado!

questionAnswers(2)

yourAnswerToTheQuestion