Python 3.2+shutilфункция
shutil.get_unpack_formats()
архивы
Возвращает форматы, которые умеет распаковывать unpack_archive(): тройки (имя, расширения, описание).
Синтаксис
shutil.get_unpack_formats() -> list[tuple[str, list[str], str]]
Именно отсюда unpack_archive берёт соответствие расширений форматам: '.tgz' и '.tar.gz' — это gztar, а у формата 'tar' расширение одно, '.tar'. Как и список форматов создания, набор зависит от сборки Python (bz2, lzma, zstd). Проверить по нему, распакуется ли файл, надёжнее, чем перебирать расширения вручную.
Примеры
import shutil
ext = {name: exts for name, exts, desc in shutil.get_unpack_formats()}
print(ext['gztar']) # → ['.tar.gz', '.tgz']
print(ext['zip']) # → ['.zip']
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности