Сообщить об ошибке.

Функции guess_all_extensions() и guess_extensions() модуля mimetypes в Python

Получение списка расширений файла, соответствующее MIME-типу

Синтаксис:

import mimetypes

# возвращает список возможных расширений
mimetypes.guess_all_extensions(type, strict=True)

# возвращает строку с расширением
mimetypes.guess_extension(type, strict=True)

Параметры:

  • type - проверяемый MIME-тип,
  • strict=True - ограничен список известных MIME-типов.

Возвращаемое значение:

  1. список строк с указанием всех возможных расширений файла.
  2. строка с указанием расширения файла.

Описание:

Функции guess_all_extensions() и guess_extension() модуля mimetypes получает расширение файла по MIME-типу, заданному в аргументе type.

Функция mimetypes.guess_all_extensions() возвращает список строк с указанием всех возможных расширений имени файла, включая начальную точку '.'.

Функция mimetypes.guess_extension() возвращает строку с указанием расширение файла, включая начальную точку '.'.

Не гарантируется, что расширения связаны с каким-либо конкретным приложением, но они будут сопоставлены с типом MIME с помощью функции mimetypes.guess_type().

Необязательный аргумент strict - это флаг, указывающий, ограничен ли список известных MIME-типов только официальными типами, зарегистрированными в IANA. Когда strict=True (по умолчанию), то поддерживаются только типы IANA, когда strict=False, также распознаются некоторые дополнительные нестандартные, но часто используемые MIME-типы.

Примеры получения расширения файла по MIME-типу.

Получение всех возможных расширений, соответствующее определенному MIME-типу.

>>> import mimetypes
>>> mimetypes.guess_all_extensions('text/html')
# ['.html', '.htm', '.shtml']
>>> mimetypes.guess_all_extensions('image/jpeg')
# ['.jpg', '.jpe', '.jpeg']
>>> mimetypes.guess_all_extensions('text/plain')
# ['.txt', '.bat', '.c', '.h', '.ksh', '.pl', '.asc', '.text', '.pot', '.brf', '.srt']
>>> mimetypes.guess_all_extensions('text/x-python')
# ['.py']
>>> mimetypes.guess_all_extensions('application/msword')
# ['.doc', '.dot', '.wiz']

Получение наиболее подходящего расширения, соответствующее определенному MIME-типу.

>>> import mimetypes
>>> mimetypes.guess_extension('text/html')
# '.html'
>>> mimetypes.guess_extension('image/jpeg')
# '.jpg'
>>> mimetypes.guess_extension('text/plain')
# '.txt'
>>> mimetypes.guess_extension('text/x-python')
# '.py'
>>> mimetypes.guess_extension('application/msword')
# '.doc'