Python - механизм для определения типа сжатого файла и распаковки
Сжатый файл может быть классифицирован на следующие логические группы
а. Операционная система, с которой вы работаете (* ix, Win) и т. Д.
б. Различные типы алгоритмов сжатия (т.е. .zip, .Z, .bz2, .rar, .gzip). Atleast из стандартного списка наиболее часто используемых сжатых файлов.
с. Тогда у нас есть механизм тарного шара - там, где, я полагаю, нет сжатия. Но это больше похоже на конкатенацию.
Теперь, если мы начнем обращаться к вышеуказанному набору сжатых файлов,
а. Вариант (а) будет заботиться Python, так как это независимый от платформы язык.
б. Варианты (б) и (в), похоже, имеют проблемы.
Что мне нужно
Как определить тип файла (тип сжатия), а затем разархивировать их?
Подобно:
fileType = getFileType(fileName)
switch(fileType):
case .rar: unrar....
case .zip: unzip....
etc
Таким образом, фундаментальный вопрос заключается в том, как определить алгоритм сжатия на основе файла (при условии, что расширение не указано или указано неверно)? Есть ли конкретный способ сделать это в Python?