Antes que nada, mis disculpas si ya se ha formulado esta pregunta en otro lugar. Realmente lo busqué, pero no encontré nada.Módulo principal de importación de módulos
La situación es la siguiente: En una carpeta mod
, tengo los archivos __init__.py
y sub.py
. contienen los siguientes datos: __init__.py
:
print "mod"
sub.py
:
import __init__
print "sub"
Ahora vamos a hacer lo siguiente:
>>> import mod
mod
>>> import mod.sub
mod
sub
Pero cuando se hace import mod.sub
, ¿por qué se mod/__init__.py
ejecuta de nuevo? Ya había sido importado. La misma característica extraña existe si nos llamamos:
>>> import mod.sub
mod
mod
sub
¿Puedo cambiar el comportamiento cambiando la import __init__
? Esta es la línea que parece más probable para mí.
¿Por qué dices "importar __init__" en sub.py ?? – rocksportrocker
Porque el módulo primario 'mod' contiene clases compartidas que están subclasificadas en' sub'. – Turion