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!