2010/10/12 Jose Caballero <[email protected]>:
[...]
> ----------------------------------------------------------------------------
> import modN
>
> if hasattr(modN, name):
> return getattr(modN, name)()
> ----------------------------------------------------------------------------
>
> ¿No hay forma de hacerlo más automático?
> Lo ideal sería hacer un loop a los módulos que existan en el directorio
> my_libs, de forma que no sea necesario escribir a mano esas dos líneas, uno
> por módulo.
Puedes reusar el código de `walk_modules` de [1]. Y tener algo como:
all_modules = walk_modules("my_libs")
def getobject(name):
for mod in all_modules:
if hasattr(mod, name):
return getattr(mod, name)
Otra alternativa sería utilizar os.listdir() sobre my_libs, cargar los .py
con __import__().
Saludos
[1] http://hg.scrapy.org/scrapy/file/a6275154f238/scrapy/utils/misc.py#l48
Rolando Espinoza La fuente
www.insophia.com
_______________________________________________
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/