Como construir um objeto TarFile na memória do buffer de byte no Python 3?

É possível criar um objeto TarFile na memória usando um buffer contendo os dados tar sem precisar gravar o TarFile no disco e abri-lo novamente? Nós recebemos os bytes enviados por um soquete.

Algo assim:

import tarfile
byte_array = client.read_bytes()
tar = tarfile.open(byte_array) # how to do this?
# use "tar" as a regular TarFile object
for member in tar.getmembers():
    f = tar.extractfile(member)
    print(f)

Nota: uma das razões para fazer isso é que, eventualmente, queremos poder fazer isso com vários encadeamentos simultaneamente, portanto, o uso de um arquivo temporário pode ser substituído se dois encadeamentos tentarem fazê-lo ao mesmo tempo.

Obrigado por toda e qualquer ajuda!

questionAnswers(2)

yourAnswerToTheQuestion