[pyar] Importar módulos y directorios
Juan Pablo Scaletti
juanpablo en jpscaletti.com
Mie Abr 22 12:18:42 ART 2015
Hola. Se me ocurren dos formas. Para las dos, debe haber un archivo llamado
__init__.py dentro de Directorio1 y otro dentro de Directorio2. Esos
archivos le dicen a Python que el directorio es un módulo y por tanto
importable.
1. La que menos me gusta -y creo que ya no funciona en Py3- es aprovechar
que corres todo desde DirectorioPrincipal. Lo que harías entonces sería:
# Directorio2/foo.py
from Directorio1.bar import Bar
2. La segunda forma es usar los imports "relativos", que se parecen un poco
a navegar por los directorios en consola:
# Directorio2/foo.py
from ..bar import Bar
Nota los ".." que significan: sube un nivel y busca desde ahi (puedes usar
todos los puntos que sean necesarios)
El problema de ese método es que no puedes "subir" más allá de tu modulo
principal. Para Python, Directorio1 y Directorio2 son módulos, pero
DirectorioPrincipal
no, es solo la carpeta donde están.
Entonces para que funcione, tienes que agruparlos en otro directorio
intermedio:
*DirectorioPrincipal*/
└── *webapp/*
└── __init__.py
├── *Directorio1/*
│ └── __init__.py
├── *Directorio2/*
└── __init__.py
Y no olvides agregar un __init__.py también dentro de webapp
Suerte!
-- JP
2015-04-22 9:38 GMT-05:00 Sebastian Scheib <stackpointerex en gmail.com>:
> Buenas, les hago una consulta, viendo el funcionamiento de __init__.py me
> empecé a animar a dividir mis distintos archivos en directorios. Ahora
> supongamos esta estructura:
>
> DirectorioPrincipal
> |
> |-------Directorio1
> |
> |-------Directorio2
>
> Supongamos que uno de mis .py de Directorio2 tiene que importar cosas de
> Directorio1, como lo haría?
>
> Saludos.
>
> --
> Dracux
> *http://www.dracux.com <http://www.dracux.com>*
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
--
Juan Pablo Scaletti
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20150422/37b11f7a/attachment-0001.html>
More information about the pyar
mailing list