小编Dyl*_*ley的帖子

如何将python代码转换为解析树并返回原始代码?

我希望能够将python代码(字符串)转换为解析树,在树级别修改它,然后将树转换为代码(字符串)。当转换为解析树并在没有任何树级修改的情况下返回代码时,生成的代码应该与原始输入代码完全匹配。

我想为此使用python。我找到了astparserpython 模块,但是 ast 树丢失了有关原始代码的信息。至于parser模块,我似乎无法弄清楚如何操作解析树或将其转换为代码。

这是我到目前为止所拥有的。

import ast
import astor # pip install astor
import parser

code = 'hi = 0'
ast_tree = ast.parse(code)
code_from_ast = astor.to_source(tree) # 'hi = 0\n'
parser_tree = parser.suite(code)
code_from_parser = ???
Run Code Online (Sandbox Code Playgroud)

python tree parsing parse-tree

3
推荐指数
1
解决办法
1547
查看次数

标签 统计

parse-tree ×1

parsing ×1

python ×1

tree ×1