Módulos y paquetes

El mecanismo principal de extensión de Python utiliza el código fuente guardado en los módulos e incorporado en un programa a través de la sentencia import. Las características que la mayoría de los desarrolladores consideran como «Python» son en realidad implementado como la colección de módulos llamada la biblioteca estándar, el tema de este libro. Aunque la característica de importación está integrada en el propio intérprete, hay varios módulos en la biblioteca relacionados con el proceso de importación.

El módulo importlib expone la implementación subyacente de el mecanismo de importación utilizado por el intérprete. Se puede usar para importar módulos dinámicamente en tiempo de ejecución, en lugar de utilizar la sentencia import para cargarlos durante la puesta en marcha. Cargar dinamicamente módulos es útil cuando el nombre de un módulo que necesita ser importado no se conoce de antemano, como para complementos o extensiones a una aplicación.

Paquetes Python pueden incluir archivos de recursos de soporte tales como plantillas, archivos de configuración predeterminados, imágenes y otros datos junto al código fuente. La interfaz para acceder a los archivos de recursos en una forma portable se implementa en el módulo pkgutil. También incluye soporte para modificar la ruta de importación de un paquete, para que los contenidos se pueden instalar en múltiples directorios pero aparecen como parte del mismo paquete.

zipimport proporciona un importador personalizado para módulos y paquetes guardados en archivos ZIP. Se usa para cargar por ejemplo archivos Python EGG, y también se puede usar como una forma conveniente de empaquetar y distribuir una aplicación.