Código fuente:Lib / mimetypes.py

los mimetypes módulo convierte entre un nombre de archivo o URL y el tipo MIME asociado con la extensión del nombre de archivo. Las conversiones se proporcionan de nombre de archivo a tipo MIME y de tipo MIME a extensión de nombre de archivo; las codificaciones no son compatibles con la última conversión.

El módulo proporciona una clase y varias funciones de conveniencia. Las funciones son la interfaz normal de este módulo, pero algunas aplicaciones también pueden estar interesadas en la clase.

Las funciones que se describen a continuación proporcionan la interfaz principal para este módulo. Si el módulo no se ha inicializado, llamarán init() si confían en la información init() establece.

mimetypes.guess_type(url, strict=True)

Adivina el tipo de archivo en función de su nombre de archivo, ruta o URL, dado por url. La URL puede ser una string o un objeto parecido a una ruta.

El valor de retorno es una tupla. (type, encoding) dónde escribe es None si el tipo no se puede adivinar (sufijo faltante o desconocido) o un string de la forma 'type/subtype', utilizable para un MIME tipo de contenido encabezamiento.

codificacion es None para no codificar o el nombre del programa utilizado para codificar (p. ej. comprimir o gzip). La codificación es adecuada para su uso como Codificación de contenido encabezamiento, no como un Codificación de transferencia de contenido encabezamiento. Las asignaciones se basan en tablas. Los sufijos de codificación distinguen entre mayúsculas y minúsculas; Los sufijos de tipo se prueban primero con distinción entre mayúsculas y minúsculas, luego sin distinción entre mayúsculas y minúsculas.

El opcional estricto El argumento es una bandera que especifica si la lista de tipos MIME conocidos se limita solo a los tipos oficiales. registrado con IANA. Cuando estricto es True (el valor predeterminado), solo se admiten los tipos de IANA; cuando estricto es False, también se reconocen algunos tipos MIME adicionales no estándar pero de uso común.

Modificado en la versión 3.8: Se agregó soporte para que la URL sea un objeto parecido a una ruta.

mimetypes.guess_all_extensions(type, strict=True)

Adivina las extensiones de un archivo según su tipo MIME, dado por escribe. El valor de retorno es una lista de cadenas con todas las posibles extensiones de nombre de archivo, incluido el punto inicial ('.'). No se garantiza que las extensiones se hayan asociado con ningún flujo de datos en particular, pero se asignarían al tipo MIME escribe por guess_type().

El opcional estricto argumento tiene el mismo significado que con el guess_type() función.

mimetypes.guess_extension(type, strict=True)

Adivina la extensión de un archivo según su tipo MIME, dada por escribe. El valor de retorno es un string dando una extensión de nombre de archivo, incluido el punto inicial ('.'). No se garantiza que la extensión se haya asociado con ningún flujo de datos en particular, pero se asignaría al tipo MIME escribe por guess_type(). Si no se puede adivinar ninguna extensión escribe, None es regresado.

El opcional estricto argumento tiene el mismo significado que con el guess_type() función.

Algunas funciones y elementos de datos adicionales están disponibles para controlar el comportamiento del módulo.

mimetypes.init(files=None)

Inicialice las estructuras de datos internas. Si se da, archivos debe ser una secuencia de nombres de archivo que se debe utilizar para aumentar el mapa de tipo predeterminado. Si se omite, los nombres de archivo a utilizar se toman de knownfiles; en Windows, se carga la configuración actual del registro. Cada archivo nombrado en archivos o knownfiles tiene prioridad sobre los nombrados antes. Vocación init() repetidamente está permitido.

Especificando una lista vacía para archivos evitará que se apliquen los valores predeterminados del sistema: solo los valores conocidos estarán presentes en una lista incorporada.

Si archivos es None la estructura de datos interna se reconstruye completamente a su valor predeterminado inicial. Esta es una operación estable y producirá los mismos resultados cuando se llame varias veces.

Modificado en la versión 3.2: Anteriormente, se ignoraba la configuración del registro de Windows.

mimetypes.read_mime_types(filename)

Cargue el mapa de tipos dado en el archivo nombre del archivo, si existiera. El mapa de tipo se devuelve como extensiones de nombre de archivo de asignación de diccionario, incluido el punto inicial ('.'), a cadenas de la forma 'type/subtype'. Si el archivo nombre del archivo no existe o no se puede leer, None es regresado.

mimetypes.add_type(type, ext, strict=True)

Agregar una asignación del tipo MIME escribe a la extensión ext. Cuando la extensión ya sea conocida, el nuevo tipo reemplazará al anterior. Cuando el tipo ya sea conocido, la extensión se agregará a la lista de extensiones conocidas.

Cuando estricto es True (predeterminado), el mapeo se agregará a los tipos MIME oficiales, de lo contrario a los no estándar.

mimetypes.inited

Bandera que indica si se han inicializado o no las estructuras de datos globales. Esto está configurado para True por init().

mimetypes.knownfiles

Lista de nombres de archivos de mapas de tipos comúnmente instalados. Estos archivos normalmente se denominan mime.types y se instalan en diferentes ubicaciones por diferentes paquetes.

mimetypes.suffix_map

Diccionario de asignación de sufijos a sufijos. Se utiliza para permitir el reconocimiento de archivos codificados para los que la codificación y el tipo se indican con la misma extensión. Por ejemplo, el .tgz la extensión está asignada a .tar.gz para permitir que la codificación y el tipo se reconozcan por separado.

mimetypes.encodings_map

Diccionario que asigna extensiones de nombre de archivo a tipos de codificación.

mimetypes.types_map

Diccionario que asigna extensiones de nombre de archivo a tipos MIME.

mimetypes.common_types

Diccionario que asigna extensiones de nombre de archivo a tipos MIME no estándar, pero que se encuentran comúnmente.

Un ejemplo de uso del módulo:

>>>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'

Objetos MimeTypes

los MimeTypes la clase puede ser útil para aplicaciones que deseen más de una base de datos de tipo MIME; proporciona una interfaz similar a la del mimetypes módulo.

class mimetypes.MimeTypes(filenames=(), strict=True)

Esta clase representa una base de datos de tipos MIME. De forma predeterminada, proporciona acceso a la misma base de datos que el resto de este módulo. La base de datos inicial es una copia de la proporcionada por el módulo y se puede ampliar cargando mime.typesarchivos de estilo en la base de datos usando el read() o readfp() métodos. Los diccionarios de mapas también se pueden borrar antes de cargar datos adicionales si no se desean los datos predeterminados.

El opcional nombres de archivo El parámetro se puede utilizar para hacer que se carguen archivos adicionales “encima” de la base de datos predeterminada.

suffix_map

Diccionario de asignación de sufijos a sufijos. Se utiliza para permitir el reconocimiento de archivos codificados para los que la codificación y el tipo se indican con la misma extensión. Por ejemplo, el .tgz la extensión está asignada a .tar.gz para permitir que la codificación y el tipo se reconozcan por separado. Esta es inicialmente una copia de la global suffix_map definido en el módulo.

encodings_map

Diccionario que asigna extensiones de nombre de archivo a tipos de codificación. Esta es inicialmente una copia de la encodings_map definido en el módulo.

types_map

Tupla que contiene dos diccionarios, asignando extensiones de nombre de archivo a tipos MIME: el primer diccionario es para los tipos no estándares y el segundo es para los tipos estándar. Son inicializados por common_types y types_map.

types_map_inv

Tupla que contiene dos diccionarios, mapeando tipos MIME a una lista de extensiones de nombre de archivo: el primer diccionario es para los tipos no estándares y el segundo es para los tipos estándar. Son inicializados por common_types y types_map.

guess_extension(type, strict=True)

Similar a guess_extension() función, utilizando las tablas almacenadas como parte del objeto.

guess_type(url, strict=True)

Similar a guess_type() función, utilizando las tablas almacenadas como parte del objeto.

guess_all_extensions(type, strict=True)

Similar a guess_all_extensions() función, utilizando las tablas almacenadas como parte del objeto.

read(filename, strict=True)

Cargue información MIME desde un archivo llamado nombre del archivo. Esto usa readfp() para analizar el archivo.

Si estricto es True, la información se agregará a la lista de tipos estándar, de lo contrario a la lista de tipos no estándar.

readfp(fp, strict=True)

Cargar información de tipo MIME desde un archivo abierto fp. El archivo debe tener el formato estándar. mime.types archivos.

Si estricto es True, la información se agregará a la lista de tipos estándar, de lo contrario, a la lista de tipos no estándar.

read_windows_registry(strict=True)

Cargue la información de tipo MIME del registro de Windows.

Disponibilidad: Windows.

Si estricto es True, la información se agregará a la lista de tipos estándar, de lo contrario, a la lista de tipos no estándar.

Nuevo en la versión 3.2.