У меня есть массивный архив с 13000 файлами. Как извлечь только самый большой файл внутри этого из программы Python?Найти большой файл внутри tarball
Я пробовал читать через архив и проверять длину каждого извлеченного файла, но это слишком долго. Есть ли более оптимизированный способ сделать это?
Оригинальный код (Дополнено для полноты этого вопроса, хотя ответ был выбран):
from tarfile import TarFile
archive = TarFile(filename)
members = archive.getmembers()
sizes = []
for member in members:
sizes.append(member.size)
largest = max(sizes)
largest_info = sizes.index(largest)
print(largest_info.name)
Как вы ожидаете найти самый большой файл, не глядя на все файлы в tarball? –