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