Foros del Web » Programando para Internet » Python »

Modulos en diferente directorio

Estas en el tema de Modulos en diferente directorio en el foro de Python en Foros del Web. bueno supongamos que tengo un modulo en python y en ese directorio una carpeta, y dentro de esa carpeta otro modulo, todo del mismo proyecto. ...
  #1 (permalink)  
Antiguo 22/01/2010, 21:31
 
Fecha de Ingreso: abril-2008
Mensajes: 68
Antigüedad: 16 años, 8 meses
Puntos: 0
Modulos en diferente directorio

bueno supongamos que tengo un modulo en python y en ese directorio una carpeta, y dentro de esa carpeta otro modulo, todo del mismo proyecto.

Como hago para importarlo, porque con el nombre no lo reconoce, tengo que agregar la carpeta a python path? no quiero que este disponible para todo python solo para el proyecto, esto es posible?

saludos
  #2 (permalink)  
Antiguo 22/01/2010, 22:56
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 9 meses
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
  #3 (permalink)  
Antiguo 23/01/2010, 09:46
 
Fecha de Ingreso: abril-2008
Mensajes: 68
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: Modulos en diferente directorio

Gracias razpetia, ya me quedo claro y me funciono, y eso que habia leido el tuto de mundo greek, y no me habia quedado asi de claro...

saludos

Etiquetas: diferente, directorio, modulos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:06.