mimetypes — Сопоставление имён файлов с типами MIME
Исходный код: Lib/mimetypes.py
Модуль mimetypes преобразует имя файла или URL в соответствующий тип MIME, связанный с расширением файла. Преобразования выполняются от имени файла к типу MIME и от типа MIME к расширению файла; кодировки для последнего преобразования не поддерживаются.
Модуль предоставляет один класс и ряд удобных функций. Функции представляют собой стандартный интерфейс этого модуля, но некоторые приложения могут быть заинтересованы и в классе.
Функции, описанные ниже, обеспечивают основной интерфейс этого модуля. Если модуль не был инициализирован, они вызовут init(), если они полагаются на информацию, устанавливаемую init().
-
mimetypes.guess_type(url, strict=True) -
Определяет тип файла по имени файла или URL, заданному параметром url. Результатом является кортеж
(type, encoding), где type —None, если тип не может быть определен (отсутствующее или неизвестное расширение), или строка вида'type/subtype', пригодная для использования в заголовке MIME content-type.encoding —
Noneдля отсутствия кодировки или имя программы, используемой для кодирования (например, compress или gzip). Кодировка подходит для использования в заголовке Content-Encoding, но **не** в заголовке Content-Transfer-Encoding. Сопоставления основаны на таблицах. Расширения кодировки чувствительны к регистру; расширения типов сначала проверяются по регистру, затем без учёта регистра.Необязательный аргумент strict — флаг, указывающий, ограничен ли список известных типов MIME только официальными типами, зарегистрированными в IANA. Когда strict —
True(по умолчанию), поддерживаются только типы IANA; когда strict —False, распознаются также некоторые дополнительные нестандартные, но широко используемые типы MIME.
-
mimetypes.guess_all_extensions(type, strict=True) -
Определяет расширения файла по его типу MIME, заданному параметром type. Результатом является список строк, представляющих все возможные расширения имени файла, включая ведущую точку (
'.'). Расширения не гарантированно связаны с каким-либо конкретным потоком данных, но они будут сопоставлены с типом MIME type функциейguess_type().Необязательный аргумент strict имеет то же значение, что и в функции
guess_type().
-
mimetypes.guess_extension(type, strict=True) -
Определяет расширение файла по его типу MIME, заданному параметром type. Результатом является строка, представляющая расширение имени файла, включая ведущую точку (
'.'). Расширение не гарантировано связано с каким-либо конкретным потоком данных, но оно будет сопоставлено с типом MIME type функциейguess_type(). Если для type невозможно определить расширение, возвращаетсяNone.Необязательный аргумент strict имеет то же значение, что и в функции
guess_type().
Доступны дополнительные функции и данные для управления поведением модуля.
-
mimetypes.init(files=None) -
Инициализирует внутренние структуры данных. Если задан, files должен быть последовательностью имён файлов, которые должны быть использованы для дополнения стандартной таблицы типов. Если опущено, имена файлов берутся из
knownfiles; в Windows загружаются текущие параметры реестра. Каждый файл, указанный в files илиknownfiles, имеет приоритет над предыдущими. Повторный вызовinit()разрешён.Указание пустого списка для files предотвратит применение системных настроек по умолчанию: будут использоваться только известные значения из встроенного списка.
Изменено в версии 2.7: Ранее параметры реестра Windows игнорировались.
-
mimetypes.read_mime_types(filename) -
Загружает таблицу типов из файла filename, если он существует. Таблица типов возвращается в виде словаря, сопоставляющего расширения имён файлов, включая ведущую точку (
'.'), со строками вида'type/subtype'. Если файла filename не существует или он не может быть прочитан, возвращаетсяNone.
-
mimetypes.add_type(type, ext, strict=True) -
Добавляет отображение из типа MIME type в расширение ext. При уже известном расширении новый тип заменит старый. При уже известном типе расширение будет добавлено в список известных расширений.
Если strict —
True(по умолчанию), отображение будет добавлено к официальным типам MIME, в противном случае — к нестандартным.
-
mimetypes.inited -
Флаг, указывающий, были ли инициализированы глобальные структуры данных. Он устанавливается в
Trueфункциейinit().
-
mimetypes.knownfiles -
Список имён файлов таблицы типов, обычно установленных по умолчанию. Эти файлы, как правило, имеют имена
mime.typesи устанавливаются в разных местах разными пакетами.
-
mimetypes.suffix_map -
Словарь, сопоставляющий расширения с расширениями. Используется для распознавания закодированных файлов, для которых кодировка и тип указываются одним расширением. Например, расширение
.tgzсопоставляется с.tar.gzдля отдельного распознавания кодировки и типа.
-
mimetypes.encodings_map -
Словарь, сопоставляющий расширения имён файлов типам кодирования.
-
mimetypes.types_map -
Словарь, сопоставляющий расширения имён файлов типам MIME.
-
mimetypes.common_types -
Словарь, сопоставляющий расширения имён файлов нестандартным, но часто встречающимся типам MIME.
Пример использования модуля:
>>> import mimetypes >>> mimetypes.init() >>> mimetypes.knownfiles ['/etc/mime.types', '/etc/httpd/mime.types', ... ] >>> mimetypes.suffix_map['.tgz'] '.tar.gz' >>> mimetypes.encodings_map['.gz'] 'gzip' >>> mimetypes.types_map['.tgz'] 'application/x-tar-gz'
1. Объекты MimeTypes
Класс MimeTypes может быть полезен для приложений, которым может потребоваться больше одной базы данных типов MIME; он предоставляет интерфейс, аналогичный интерфейсу модуля mimetypes.
-
class mimetypes.MimeTypes(filenames=(), strict=True) -
Этот класс представляет базу данных MIME-типов. По умолчанию он предоставляет доступ к той же базе данных, что и остальная часть модуля. Первоначальная база данных является копией предоставленной модулем и может быть расширена загрузкой дополнительных файлов в стиле
mime.typesв базу данных с помощью методовread()илиreadfp(). Карты сопоставлений также могут быть очищены перед загрузкой дополнительных данных, если данные по умолчанию не требуются.Необязательный параметр filenames может быть использован для загрузки дополнительных файлов «сверху» на базе данных по умолчанию.
-
suffix_map -
Словарь, сопоставляющий расширения файлов с расширениями. Это используется для распознавания закодированных файлов, для которых кодировка и тип указаны одним и тем же расширением. Например, расширение
.tgzотображается на.tar.gzдля отдельного распознавания кодировки и типа. Изначально это копия глобального словаряsuffix_map, определённого в модуле.
-
encodings_map -
Словарь, сопоставляющий расширения файлов с типами кодировок. Изначально это копия глобального словаря
encodings_map, определённого в модуле.
-
types_map -
Кортеж, содержащий два словаря, сопоставляющих расширения файлов с MIME-типами: первый словарь для нестандартных типов, а второй — для стандартных. Они инициализируются функциями
common_typesиtypes_map.
-
types_map_inv -
Кортеж, содержащий два словаря, сопоставляющих MIME-типы со списком расширений файлов: первый словарь для нестандартных типов, а второй — для стандартных. Они инициализируются функциями
common_typesиtypes_map.
-
guess_extension(type, strict=True) -
Аналогичная функции
guess_extension(), использующей таблицы, хранящиеся в объекте.
-
guess_type(url, strict=True) -
Аналогичная функции
guess_type(), использующей таблицы, хранящиеся в объекте.
-
guess_all_extensions(type, strict=True) -
Аналогичная функции
guess_all_extensions(), использующей таблицы, хранящиеся в объекте.
-
read(filename, strict=True) -
Загрузка информации MIME из файла с именем filename. Использует
readfp()для разбора файла.Если strict равно
True, информация будет добавлена в список стандартных типов, в противном случае — в список нестандартных типов.
-
readfp(fp, strict=True) -
Загрузка информации о MIME-типах из открытого файла fp. Файл должен иметь формат стандартных файлов
mime.types.Если strict равно
True, информация будет добавлена в список стандартных типов, в противном случае — в список нестандартных типов.
-
read_windows_registry(strict=True) -
Загрузка информации о MIME-типах из реестра Windows. Доступность: Windows.
Если strict равно
True, информация будет добавлена в список стандартных типов, в противном случае — в список нестандартных типов.Добавлена в версии 2.7.
-
© 2001–2020 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/2.7/library/mimetypes.html