Ver Mensaje Individual
  #2 (permalink)  
Antiguo 22/01/2010, 22:56
Avatar de razpeitia
razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Modulos en diferente directorio

Bueno en python vamos a decir que existe una formula para "los modulos y los paquetes", esta dice:
modulos = Archivos
paquetes = Carpetas

Mientras que los modulos sirven para organizar codigo en archivos, los paquetes sirven para organizar modulos en carpetas.

Es IMPORTANTE que la carpeta, que quiera ser un paquete debe de contener un archivo llamado __init__.py en este archivo se pueden definir variables, clases, funciones, etc con la que trabajan los modulos (archivos) en esos paquetes (carpetas). Regularmente es un archivo vacio.

Vamos a tener un ejemplo simple:
Código:
#Arbol de directorios
.
|-- main.py
|-- paquete1
|   |-- __init__.py
|   |-- modulo1.py
|   `-- modulo2.py
`-- paquete2
    |-- __init__.py
    |-- modulo1.py
    `-- modulo2.py
Código Python:
Ver original
  1. #Modulo1 en Paquete1
  2. pkg1mod1 = True

Código Python:
Ver original
  1. #Modulo2 en Paquete1
  2. pkg1mod2 = True

Código Python:
Ver original
  1. #Modulo1 en Paquete2
  2. pkg2mod1 = True

Código Python:
Ver original
  1. #Modulo2 en Paquete2
  2. pkg2mod2 = True

Código Python:
Ver original
  1. #main.py
  2. import paquete1.modulo1 #Asi es como importamos un modulo de un paquete
  3. from paquete1 import modulo1 #forma mas compacta
  4. print paquete1.modulo1.pkg1mod1 #Asi llamamos a la variable pkg1mod1 que definimos en el modulo1 del paquete1
  5. print modulo1.pgk1mod1 #Forma mas compacta

Para mas informacion