如何将字符串转换为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'>
极客教程