[pyar] Importar módulos y directorios

Sebastian Scheib stackpointerex en gmail.com
Mie Abr 22 14:55:22 ART 2015


Muchísimas gracias, implementé la segunda alternativa, tiene más sentido
para mi.

Saludos!

El 22 de abril de 2015, 12:18, Juan Pablo Scaletti <juanpablo en jpscaletti.com
> escribió:

> 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
>
> _______________________________________________
> 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
>



-- 
Dracux
*http://www.dracux.com <http://www.dracux.com>*
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20150422/0d744e4e/attachment.html>


More information about the pyar mailing list