0

我觉得这不是一个很好的问题,但我们开始吧:

是否存在可以查看 python 文件(作为文本)并将其分解为“位”的库,例如字典/数组。然后我可以逐步遍历数组并挑选出类、函数、变量等。

我正在寻找一个可以分析整个项目并列出彼此相关的类/模块的工具。

我能想到的唯一方法是单步执行每一行并对其进行大量正则表达式。

4

1 回答 1

4

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

compile()函数允许您将 python 源文件编译为 AST,但模块本身也提供了一个辅助函数,ast.parse()

import ast

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

有人写了一本关于 Python AST 争论的电子书:Green Tree Snakes -您可能会觉得有趣的缺失的 Python AST 文档。

于 2013-06-28T21:06:05.043 回答