[Python-es] Importar módulos mediante un fichero __init__.py

Chema Cortes pych3m4 en gmail.com
Mie Mayo 9 16:37:23 CEST 2012


El día 9 de mayo de 2012 15:09, Dani Muñoz <conan.srk en gmail.com> escribió:

> Dentro de la carpeta PRUEBASmod he creado el fichero __init__.py, que
> es el que debería hacer que PRUEBASmod se comportara más adelante como
> un módulo más que contiene a otros módulos,

Además del __init__.py necesitas añadir el paquete a la ruta de
búsqueda. Lo puedes hacer alterando el sys.path (tal como te sugiere
Sergio Fernández en otro mensaje), o con un fichero .pth en algún
directorio que se encuentre en sys.path (eg: dentro de 'site-packages'
como hace "easy-install").

> y dentro de la carpeta
> 'promain' he creado otro __init__.py con el siguiente contenido:
>
> from PRUEBASmod import addsubt
> from PRUEBASmod import multdiv
> from PRUEBASmod import fileread

Ahora con python3 (también con python 2.7) puedes usar ruta relativas:

from .. import addsubt
from .. import multdiv
from .. import fileread

La cuestión es ¿para qué los quieres importar en el __init__.py? Lo
suyo sería que los importaras desde los módulos de 'promain' que vaya
a usarlos.




-- 
Hyperreals *R: http://ch3m4.org/blog
Quarks, bits y otras criaturas infinitesimales


Más información sobre la lista de distribución Python-es