注意:我不认为这是问题的重复,例如列出给定类的层次结构中的所有基类?,因为我没有能力在运行时实例化类。这里的重点是静态分析,而不是动态分析。
我正在使用 Jedi 工具对内部源代码进行一些静态分析。我可以用它来帮助我识别给定类继承自的所有类吗?
例如,这是一个名为的脚本utils.py
:
class UtilBase:
pass
class SampleUtil(UtilBase):
pass
这是摄取它的代码:
import jedi
script = jedi.Script('utils.py')
names = script.get_names()
sample = names[1]
# shows "utils"
print(sample.parent())
# shows "SampleUtil()"
print(sample.get_signatures()[0].to_string())
我想要的是一种从sample
.