Detener la importacion de un modulo

Oswaldo Hernández listas en soft-com.es
Mar Mar 17 11:00:53 CET 2009


Jose Caballero escribió:
> El 17 de marzo de 2009 1:06, lasizoillo <lasizoillo en gmail.com> escribió:
> 
>> El día 17 de marzo de 2009 0:23, Jose Caballero
>> <jcaballero.hep en gmail.com> escribió:
>>> El 16 de marzo de 2009 23:58, lasizoillo <lasizoillo en gmail.com>
>> escribió:
>>>> El día 16 de marzo de 2009 22:29, Oswaldo Hernández
>>>> <listas en soft-com.es> escribió:
>>>>> Hola,
>>>>>
>>>>> ¿Hay alguna forma de que cuando se importe un modulo pare la
>> importacion
>>>> y
>>>>> vuelva al modulo que lo ha llamado?, Es decir que haga una especie de
>>>> return
>>>>> pero a nivel de modulo.
>>>>>
...
>>>>
>>>> if CondicionDelImport:
>>>>  class ...
>>>>  etc ...
>>>>
>>>> Lo que declares deltro del if se va a declarar exactamente igual que
>>>> si estuviera fuera del mismo ;-)
>>>>

Si, ya se que puedo poner todas las declaraciones dentro del bloque if, pero para este caso me 
hubiera gustado mas si se pudiera hacer un return y no continuar la importacion ya que el if tendria 
unas 1500 lineas.

Creo que al final lo que haré sera sacar las declaraciones a otro modulo y reducir el if a un import 
de ese modulo:

# modulo.py

if UsarNuevasClases:
     from NuevasClases import *
else:
     from ViejasClases import *




>>>
>>>
...
> He intentado ejecutar tu primer ejemplo y no funciona porque la variable
> CondicionDeImport no esta definida. De ahi mi pregunta.
> 

Esa variable era solo un ejemplo para esquematizar lo que pretendia hacer.


Saludos,

-- 
*****************************************
Oswaldo Hernández
oswaldo (@) soft-com (.) es
*****************************************
PD:
Antes de imprimir este mensaje, asegúrese de que es necesario.
El medio ambiente está en nuestra mano.
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





Más información sobre la lista de distribución Python-es