[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