Pythonのmimetypesモジュールは特に正確ではなく、その結果をファイル拡張子に基づいています。より正確な結果を得るために私は考えることができる唯一の方法はとてもとしてsubprocess.Popen
とUnixのfile
コマンドを呼び出すことです:Pythonのより良い、より正確なMIMEタイプ検出
import subprocess
mimetype = subprocess.Popen(['file', '/path/to/file', '--mime-type', '-b'],
stdout=subprocess.PIPE).stdout.read().strip()
これは無粋な感じ。 をに送信することなく、file
を呼び出しても同じ精度を達成するより良い方法はありますか?
これは 'file'と同じMIME識別コードを使います。 –
真実ですが、彼が求めていたよりエレガントです。 :) – Mads