Wie konstruiere ich ein TarFile-Objekt im Speicher aus einem Byte-Puffer in Python 3?

Ist es möglich, ein TarFile-Objekt im Speicher mit einem Puffer zu erstellen, der die Tar-Daten enthält, ohne das TarFile auf die Festplatte schreiben und erneut öffnen zu müssen? Wir bekommen die Bytes über einen Socket geschickt.

Etwas wie das:

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)

Hinweis: Einer der Gründe dafür ist, dass wir dies eventuell mit mehreren Threads gleichzeitig tun möchten. Daher kann die Verwendung einer temporären Datei überschrieben werden, wenn zwei Threads gleichzeitig versuchen, dies zu tun.

Vielen Dank für jede Hilfe!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage