import mimetypes mimetypes.guess_type(url, strict=True)
url
- имя, пути или URL-адресаstrict=True
- ограничен список известных MIME-типов.(type, encoding)
.Функция guess_type()
модуля mimetypes
распознает MIME-тип файла на основе его имени, пути или URL-адреса, заданного аргументом url
. Аргумент url
может быть строкой или объектом пути.
Возвращаемое значение - кортеж (type, encoding)
, где:
type
будет строкой формы 'type/subtype'
, которую можно использовать для заголовка MIME-типа или None
, если тип не может быть распознан (отсутствует или неизвестный суффикс)encoding
будет None
, если архим или имя программы, используемая для архивирования (например, compress
или gzip
), отсутствуют. Значение encoding
подходит для использования в качестве заголовка Content-Encoding
, а не заголовка Content-Transfer-Encoding
. Сопоставления управляются таблицами. Суффиксы (расширения) файлов чувствительны к регистру, суффиксы типов сначала проверяются с учетом регистра, а затем без учета регистра.
Необязательный аргумент strict
- это флаг, указывающий, ограничен ли список известных MIME-типов только официальными типами, зарегистрированными в IANA. Когда strict=True
(по умолчанию), то поддерживаются только типы IANA, когда strict=False
, также распознаются некоторые дополнительные нестандартные, но часто используемые MIME-типы.
Изменено в Python 3.8: Добавлена поддержка URL-адреса как объекта пути.
>>> import mimetypes >>> mimetypes.guess_type('test.py') # ('text/x-python', None) >>> mimetypes.guess_type('test.txt') # ('text/plain', None) >>> mimetypes.guess_type('test.html') # ('text/html', None) >>> mimetypes.guess_type('test.jpg') # ('image/jpeg', None) >>> mimetypes.guess_type('test.doc') # ('application/msword', None)