Pido disculpas por otra pregunta más __init__.py
.Cómo acceder a las variables __init__.py desde partes más profundas de un paquete
I tienen la siguiente estructura del paquete:
+contrib
+--__init__.py
|
+database
+--__init__.py
|
+--connection.py
En el nivel superior __init__.py
defino: USER='me'
. Si yo import contrib
desde la línea de comando, entonces puedo acceder al contrib.USER
.
Ahora, quiero acceder contrib.user
desde withih connection.py
pero no puedo hacerlo.
Se llama al nivel superior __init__.py
cuando emite from contrib.database import connection
, por lo que Python realmente está creando el parámetro USER
.
Entonces la pregunta es: cómo acceder a los parámetros y variables declarados en el nivel superior __init__.py
dentro de los niños.
Gracias.
EDIT:
Soy consciente de que se puede añadir a import contrib
connection.py
, pero parece repetitivo, como es obvio (de manera incorrecta?) Que si necesita connection.py
ya importó contrib
.
En teoría, podría obtenerlo de 'sys.modules', ya que sabe que está allí, pero * le recomiendo * que no lo haga. La respuesta de Wai Yip Tung es mucho mejor. – Kevin