从 Python 的 ast 重建一个新的抽象语法树
项目描述
这是什么 ?
这个模块的目的是为pychecker、pyreverse、pylint等项目提供python源代码的通用基础表示……嗯,实际上这个库的开发本质上是由pylint的需求决定的。
它提供了来自_ast模块的兼容表示。它通过递归地遍历 AST 并构建扩展的 ast(我们称之为 astng ;)来重建由内置 _ast 模块生成的树。新的节点类具有针对不同用途的附加方法和属性。它们包括对静态推理和本地名称范围的一些支持。此外,astng 通过检查活体来构建部分树。
主要模块有:
bases、node_classses和scoped_nodes包含树的不同类型节点的类。
管理器包含一个高级对象,用于从源文件和活动对象中获取 astng 树。它维护先前构建的树的缓存以便快速访问
安装
解压tarball,跳转到创建的目录并运行
python setup.py install
有关安装选项,请参见
python setup.py install --help
如果您有任何问题,请发送邮件至 python- project @lists 。逻辑实验室。org邮件列表以获得支持。有关订阅信息和档案,请参见 http://lists.logilab.org/mailman/listinfo/python-projects。
测试
测试位于“测试”子目录中。要立即启动整个测试套件,您可以使用 logilab-common 中的 'pytest' 实用程序(只需在此目录中输入 'pytest'),或者如果您正在运行 python >= 2.7,则使用 discover,例如:
python -m unittest discover -p "unittest*.py"