2013-06-28 117 views
0

我觉得这不是一个很好的问题,但在这里,我们去:寻找一种方式来intrepret Python代码结构

难道一个库中存在,可以看一个Python文件(如文本)和拆解入“位”,说成字典/阵列。然后,我可以通过数组,并选出类,函数,变量等。

我期待构建一个工具,可以分析整个项目并列出相互之间的类/模块。

我能想到独自做它的唯一的办法就是通过各行加强并在其上做了很多的正则表达式。

回答

4

您正在寻找ast module,它可以让您分析和遍历Python代码的抽象语法树。

compile() function让您编译一个Python源文件到AST,但是模块本身提供了一个辅助功能太多,ast.parse()

import ast 

with open(sourcefilename, 'r') as source: 
    tree = ast.parse(source.read(), sourcefilename) 

有人写了一本电子书上的Python AST争吵:Green Tree Snakes - the missing Python AST docs你可能会感兴趣。

+0

漂亮,谢谢 – wjdp

相关问题