В python 3 (3.6.8) я хочу прочитать tar-файл в формате gzip и перечислить его содержимое.
Я нашел это решение , которое выдает ошибку
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte
Поиск этой ошибки в найденном этом предложении , поэтому я попробовал следующий фрагмент кода:
with open(out_file) as fd:
gzip_fd = gzip.GzipFile(fileobj=fd)
tar = tarfile.open(gzip_fd.read())
, которая выдает ту же ошибку!
Так как это сделать правильно?
Даже при просмотре фактической документации здесь я придумал следующий код:
tar = tarfile.open(out_file, "w:gz")
for member in tar.getnames():
print(tar.extractfile(member).read())
, который наконец-то сработал без ошибок - но не распечатал содержимое архива tar на экране!
Файл tar хорошо отформатирован и содержит папки и файлы. (Мне нужно попытаться поделиться этим файлом)