如何检索 python 代码的控制流图?

Jam*_*its 3 python abstract-syntax-tree control-flow-graph

我想转储给定 python 代码的控制流图,类似于 gcc 编译器选项给出的选项:用于 c 代码的 -fdump-tree-cfg 。

我成功获得了Python代码的AST(抽象语法树),但是从AST阶段获得控制流图似乎相当复杂和麻烦。

有没有更简单的方法来直接检索Python代码的控制流图?有什么建议么?

哦顺便说一下我正在使用 python3.5

谢谢你们!

PS我真的不知道我在幕后使用什么样的解释器,据我所知它是CPython(不确定),我不认为它是PyPy(Rpython)。有什么建议我如何验证吗?

Ira*_*ter 5

请参阅我关于如何使用 AST 构建控制流图的 SO 答案。

最初的问题询问的是 Java 的 CFG,但该方法实际上非常通用,并且相同的方法也适用于生成 Python 的 CFG。

我不会称其为“相当复杂”;基本思想非常简单。