Python ast 模块
实例
解析一个简单的语句并检查其抽象语法树类型:
import ast
tree = ast.parse("x = 1 + 2")
print(type(tree).__name__)
亲自试一试 »
定义和用法
ast 模块可以将 Python 源代码解析为抽象语法树 (AST)。
您可以使用它以编程方式分析、转换或生成 Python 代码,包括安全地求值字面量。
成员
| 成员 | 描述 |
|---|---|
| AST | 抽象语法树中所有节点的基类。 |
| copy_location() | 将位置信息(行/列)从一个节点复制到另一个节点。 |
| dump() | 返回格式化的抽象语法树字符串,用于调试或检查。 |
| fix_missing_locations() | 填充节点上缺失的位置信息(行/列)。 |
| get_docstring() | 返回节点的文档字符串(如果存在)。 |
| get_source_segment() | 如果可用,返回生成节点的确切源子字符串。 |
| increment_lineno() | 增加节点及其子节点的行号(例如,注入代码时)。 |
| iter_child_nodes() | 遍历节点的直接子节点。 |
| iter_fields() | 遍历抽象语法树 (AST) 节点的字段。 |
| literal_eval() | 安全地计算包含 Python 字面量结构的字符串。 |
| NodeTransformer | 访问并修改节点;返回一个新节点替换旧节点。 |
| NodeVisitor | 遍历树并对节点类型运行 visit_* 方法;不进行任何修改。 |
| parse() | 将 Python 源代码解析为抽象语法树 (AST)。 |
| unparse() | 将 AST 转换回 Python 源代码。 |
| walk() | 从给定节点递归遍历树中的所有节点。 |

