Comprobar si un módulo existe antes de cargarlo

Gabriel Genellina gagsl-py2 en yahoo.com.ar
Jue Abr 12 07:52:59 CEST 2007


En Wed, 11 Apr 2007 18:11:58 -0300, Oscar Gunsett <ogunsett en gmail.com>  
escribió:

> Las otras posibilidades estan el pagina
> http://docs.python.org/lib/modules.html
> ahi aparece el modulo imp que implemente el metodo find_module , el cual
> genera una excepción en el caso que el modulo no exista.

Dependiendo de los motivos para preguntar primero si existe, find_module y  
sus variantes pueden servir o no.
Qué pasa si el .py del modulo existe, pero tiene errores de sintaxis?
O si existe pero a su vez depende de otro modulo que no existe?
O si ...?
Nada de eso se puede detectar sin intentar cargar efectivamente el modulo.  
Y eso va de la mano de la filosofia imperante en Python: "Es más fácil  
pedir perdón que permiso". Asi que lo mejor es importarlo realmente,  
atrapar la posible excepcion ImportError y actuar en consecuencia.

Esto es, si uno quiere realmente usarlo, o si hay varias alternativas y se  
esta buscando cual es la que esta realmente disponible (ejemplo:  
getpass.py). Si fuera para mostrar el nombre en una lista, o para saber de  
dónde lo cargaría antes de importarlo, sí tienen sentido find_module&cía.

-- 
Gabriel Genellina

------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es


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