Python 的 mimetypes 模块不是特别准确,它的结果基于文件扩展名。我能想到的获得更准确结果的唯一方法是这样调用 Unixfile
命令subprocess.Popen
:
import subprocess
mimetype = subprocess.Popen(['file', '/path/to/file', '--mime-type', '-b'],
stdout=subprocess.PIPE).stdout.read().strip()
这感觉很不雅。有没有更好的方法来做到这一点而不必打电话file
但仍能达到同样的准确度?