2011-09-14 18 views
5

En uno de mis paquetes de Python el archivo __init__.py contiene la declaracióndesde. XXXX importación

from . import XXXX 

Lo que hace el "" significa aquí? Obtuve esta técnica mirando otro paquete, pero no entiendo lo que significa.

Gracias!

Respuesta

5
+1

Duh, por supuesto que sí. Gracias por indicarme el nombre correcto de la función. – jlconlin

+0

Si bien esto puede responder teóricamente a la pregunta, [sería preferible] (// meta.stackoverflow.com/q/8259) incluir aquí las partes esenciales de la respuesta y proporcionar el enlace de referencia. – Barmar

10

Es una importación relativa. De : http://docs.python.org/py3k/reference/simple_stmts.html#the-import-statement

Al especificar qué módulo para importar no tiene que especificar el nombre de absoluto del módulo. Cuando un módulo o paquete está contenido en dentro de otro paquete, es posible hacer una importación relativa dentro de el mismo paquete superior sin tener que mencionar el nombre del paquete. Por usando puntos iniciales en el módulo o paquete especificado después de usted puede especificar qué tan alto atravesará la jerarquía de paquetes actual sin especificar nombres exactos.

Un punto inicial significa el paquete actual donde existe el módulo que realiza la importación. Dos puntos significan hasta un nivel de paquete. Tres puntos están en dos niveles, etc. Por lo tanto, si ejecuta from . import mod desde un módulo en el paquete pkg, finalizará importando pkg.mod. Si ejecuta desde ..subpkg2 import mod desde dentro de pkg.subpkg1, importará pkg.subpkg2.mod. La especificación para las importaciones relativas está contenida dentro de PEP 328.

Cuestiones relacionadas