Улучшенное и более точное определение MIME-типа в Python.

Модуль mimetypes Python не особенно точен и основывает свои результаты на расширении файла. Единственный способ, который я могу придумать, чтобы получить более точный результат, это вызвать команду Unix fileс subprocess.Popenкак так:

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

Это кажется неэлегантным. Есть ли лучший способ сделать это без вызова file, но с тем же уровнем точности?

5
задан Matty 21 April 2012 в 22:06
поделиться