Python - Mechanismus zum Ermitteln des komprimierten Dateityps und zum Dekomprimieren

Eine komprimierte Datei kann in folgende logische Gruppen eingeteilt werden
ein. Das Betriebssystem, unter dem Sie arbeiten (* ix, Win) usw.
b. Verschiedene Arten von Komprimierungsalgorithmen (d. H. ZIP, Z, BZ2, RAR, GZIP). Zumindest aus einer Standardliste der am häufigsten verwendeten komprimierten Dateien.
c. Dann haben wir einen Teerkugelmechanismus - wo es wohl keine Kompression gibt. Aber es wirkt eher wie eine Verkettung.

Wenn wir nun die oben genannten komprimierten Dateien ansprechen,
ein. Option (a) würde von Python übernommen, da es plattformunabhängig ist.
b. Option (b) und (c) scheinen ein Problem zu haben.

Was brauche ich
Wie identifiziere ich den Dateityp (Komprimierungstyp) und UN-komprimiere sie?

Mögen:

fileType = getFileType(fileName)  
switch(fileType):  
case .rar:  unrar....
case .zip:  unzip....

etc  

Die grundlegende Frage ist also, wie wir den Komprimierungsalgorithmus anhand der Datei identifizieren (vorausgesetzt, die Erweiterung wird nicht bereitgestellt oder ist falsch). Gibt es eine bestimmte Möglichkeit, dies in Python zu tun?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage