我想从Python中的类对象获取类引用。通常,我使用类名作为有效的引用,但是它并不总是有效。
考虑以下代码:
import inspect
import unittest
import pywin32_testutil
mro=inspect.getmro(pywin32_testutil.TestProgram)
mro[0]
> <class 'pywin32_testutil.TestProgram'>
mro[0].__module__ + '.' + mro[0].__name__
>'pywin32_testutil.TestProgram'
pywin32_testutil.TestProgram
> <class 'pywin32_testutil.TestProgram'>
我可以从对象中确定类名称,并使用类名称可以获取类对象。但是,它并不总是有效。继续示例:
mro[1]
> <class 'unittest.main.TestProgram'>
mro[1].__module__ + '.' + mro[1].__name__
> 'unittest.main.TestProgram'
到目前为止还不错,但是unittest.main.TestProgram
引用无效:
unittest.main.TestProgram
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: type object 'TestProgram' has no attribute 'TestProgram'
我该如何解决?