Pythons Modul mimetypes ist nicht besonders genau und basiert seine Ergebnisse auf der Dateierweiterung. Der einzige Weg, ich denken kann ein genaueres Ergebnis zu erhalten, ist den Unix-Befehl file
mit subprocess.Popen
als so zu nennen:Bessere, genauere Mime-Typ-Erkennung in Python
import subprocess
mimetype = subprocess.Popen(['file', '/path/to/file', '--mime-type', '-b'],
stdout=subprocess.PIPE).stdout.read().strip()
Das fühlt sich an. Gibt es eine bessere Möglichkeit, dies ohnefile
aufrufen, aber immer noch das gleiche Maß an Genauigkeit zu erreichen?
Dies verwendet den gleichen MIME-Identifikationscode wie 'Datei'. –
Stimmt - aber es ist eleganter, wonach er gefragt hat. :) – Mads