Comment construire une TarFile objet en mémoire à partir de l'octet de la mémoire tampon dans Python 3?

Est-il possible de créer un TarFile objet en mémoire à l'aide d'un tampon contenant du goudron de données sans avoir à écrire la TarFile à disque et à l'ouvrir à nouveau? Nous obtenons les octets transmis sur un support.

Quelque chose comme ceci:

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)

Remarque: l'une des raisons pour cela est que nous voulons par la suite être en mesure de le faire avec plusieurs threads simultanément, donc à l'aide d'un fichier temporaire peut être remplacée si deux threads tentent de le faire en même temps.

Merci pour toute aide!

OriginalL'auteur Sefu | 2013-04-07