Jak skonstruować obiekt TarFile w pamięci z bufora bajtów w Pythonie 3?

Czy możliwe jest utworzenie obiektu TarFile w pamięci za pomocą bufora zawierającego dane tar bez konieczności zapisywania TarFile na dysku i ponownego otwierania? Otrzymujemy bajty wysłane przez gniazdo.

Coś takiego:

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)

Uwaga: jednym z powodów jest to, że ostatecznie chcemy mieć możliwość jednoczesnego wykonywania wielu wątków, więc użycie pliku tymczasowego może zostać zastąpione, jeśli dwa wątki spróbują to zrobić w tym samym czasie.

Dziękujemy za wszelką pomoc!

questionAnswers(2)

yourAnswerToTheQuestion