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