Este post ha sido aprobado por nuestros especialistas para garantizar la veracidad de nuestra esta división.
Solución:
Esto podría funcionar:
import sys
def str_to_class(classname):
return getattr(sys.modules[__name__], classname)
Advertencia:
eval()
se puede utilizar para ejecutar código Python arbitrario. Debería nunca usareval()
con cadenas no confiables. (Ver ¿Seguridad de Python’s eval () en cadenas no confiables?)
Esto parece lo más simple.
>>> class Foo(object):
... pass
...
>>> eval("Foo")
Podrías hacer algo como:
globals()[class_name]
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)