Pythonのmimetypesモジュールは特に正確ではなく、その結果はファイル拡張子に基づいています。より正確な結果を得るために私が考えることができる唯一の方法は、次のようにUnixfile
コマンドを呼び出すsubprocess.Popen
ことです。
import subprocess
mimetype = subprocess.Popen(['file', '/path/to/file', '--mime-type', '-b'],
stdout=subprocess.PIPE).stdout.read().strip()
これは優雅ではないように感じます。電話をかけなくfile
ても同じレベルの精度を達成するためのより良い方法はありますか?