Móduls importados con __import__

Santi Camps santi en zetadb.com
Jue Mayo 27 15:46:41 CEST 2004


En/na Chema Cortés ha escrit:

>El Miércoles, 26 de Mayo de 2004 21:34, Santi Camps escribió:
>
>  
>
>>¿ A alguien se le ocurre una razón ?
>>    
>>
>
>Ummm! Sólo se me ocurre que sea por causa de la resolución de métodos. Me 
>faltaría ver la jerarquía de clases y algo más del código.
>
>Cuando se accede al método del objeto adaptado no necesita realizar una 
>búsqueda por la jerarquía de clases, por lo que es lógico que pueda ser algo 
>más rápido, pero tampoco como para que destaque tanto. No creo que sea un 
>problema específico del __import__. ¿Qué versión de python estás utilizando? 
>En el python 2.3 se mejoró el algoritmo de búsqueda de métodos (algoritmo 
>C3).
>  
>
Estoy usando python 2.3.3 y Zope 2.7.0

He ganado algo definiendo una función my_import al estilo del manual de 
python y haciendo caché de objetos instanciados en lugar de hacer caché 
de la clase.    Entre esto y un par de problemillas típicamente zoperos 
que he solucionado, la cosa responde a un nivel que permite trabajar.  
Aunque todavía tengo algunos puntos que van demasiado lentos para mi 
gusto, seguramente ya no sean temas de python sinó de mi programa.

########################################################################
def my_import(adapter_path):
    mod = __import__(adapter_path[0])
    components = adapter_path[0].split('.')
    for comp in components[1:]:
        mod = getattr(mod, comp)
    return getattr(mod, adapter_path[1])
    
Gracias

Santi Camps
------------ 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