给定一个字符串作为python函数的用户输入,如果当前定义的命名空间中有一个具有该名称的类,我想从中获取一个类对象。
class Foobar:
pass
print eval("Foobar")
print type(Foobar)输出结果
__main__.Foobar <type 'classobj'>
将字符串转换为类对象的另一种方法如下
import sys
class Foobar:
pass
def str_to_class(str):
return getattr(sys.modules[__name__], str)
print str_to_class("Foobar")
print type(Foobar)输出结果
__main__.Foobar <type 'classobj'>