我正在深入研究一个拥有大量方法的庞大遗留Python类。我最终将复杂的碎片分成更小的碎片,因此方法的数量会增加更多。我想知道是否有一个工具可以扫描Python代码并为其方法构建某种依赖关系图。
如果在x()
中至少调用一次y()
,我将方法x()
定义为方法y()
的依赖项。
我可以使用这样的工具来隔离(如果可能的话)没有外部依赖关系的类方法的子集(它们的所有依赖关系都是来自同一子集的方法)。
我打算将一些功能转移到其他类中,我认为这种方法可以帮助我决定从最初的庞大类中提取哪些部分。
编辑:我真的很喜欢命令行工具。
答案 0 :(得分:4)
你看过Snakefood了吗?它看起来就像你正在寻找的那样。
答案 1 :(得分:1)
你试过pydev吗?这是eclipse的python扩展。我相信它允许您使用Eclipse的“调用层次结构”功能来查看给定方法的调用图。这不是你想要的,但也许它足以开始。
答案 2 :(得分:0)
我在这个问题上也很困惑,我找到了一个搜索助手,帮助我以另一种方式找到调用层次结构。不是很好,但比donot更好。抱歉我的英语。
ps.IDE eclipse + pydev
答案 3 :(得分:0)
Pycallgraph应该做你想要的。
答案 4 :(得分:0)
刚刚开始使用pydeps,到目前为止效果很好。