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