5

Pythonのmimetypesモジュールは特に正確ではなく、その結果はファイル拡張子に基づいています。より正確な結果を得るために私が考えることができる唯一の方法は、次のようにUnixfileコマンドを呼び出すsubprocess.Popenことです。

import subprocess
mimetype = subprocess.Popen(['file', '/path/to/file', '--mime-type', '-b'], 
    stdout=subprocess.PIPE).stdout.read().strip()

これは優雅ではないように感じます。電話をかけなくfileても同じレベルの精度を達成するためのより良い方法はありますか?

4

2 に答える 2

7

あなたは試すことができます:魔法のmimetype

于 2012-04-21T22:08:53.700 に答える
2

私は似ているが少し省略されたものを使用します:

import subprocess
mimeType = subprocess.check_output(['file', '-ib', '/path/to/file']).strip()

エレガントではないかもしれませんが、短くて少し読みやすいので、私はいつもそれを好みます。

于 2012-12-12T15:04:24.953 に答える