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!
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!
Es un relative import.
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.
Duh, por supuesto que sí. Gracias por indicarme el nombre correcto de la función. – jlconlin
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