给定一个字符串作为 Python 函数的用户输入,如果当前定义的命名空间中有一个具有该名称的类,我想从中获取一个类对象。本质上,我想要一个能够产生这种结果的函数的实现:
class Foo:
pass
str_to_class("Foo")
==> <class __main__.Foo at 0x69ba0>
这可能吗?
最佳答案
这可以工作:
import sys
def str_to_class(classname):
return getattr(sys.modules[__name__], classname)
https://stackoverflow.com/questions/1176136/