给定一个字符串作为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'>