是的,说我有这种结构:(我碰巧实际拥有)
现在我希望将整个结构(Interface.Test.Test)作为存储在某处的字符串。
我知道我可以使用type(myTestObjectInstance)
或myTestObjectInstance.__class__
但是它会检索一个类型对象,其打印方式类似于<class 'Interface.Test.Test'>
但从那时起,我不知道如何获得实际的结构部分。我当然可以解析字符串,但我想有一种更简单的方法可以做到这一点?
[编辑]
Larsmans提供了一个答案,但它没有完全回答我想做的事情:
如果我所提供的只是那个类型对象本身(type(myTestObjectInstance)
答案 0 :(得分:1)
使用inspect.getmodule
您可以(有时)找到定义对象的模块,例如
>>> from collections import defaultdict
>>> import inspect
>>> inspect.getmodule(defaultdict)
<module 'collections' from '/usr/lib/python2.6/collections.pyc'>
可以使用__name__
找到模块名称。请注意,由于重新导出,定义模块不必是您导入的模块:
>>> from scipy.sparse import csr_matrix
>>> inspect.getmodule(csr_matrix).__name__
'scipy.sparse.csr'