将字符串类型的抽象语法树(AST)转换为Python代码?
我正在处理Python代码的已解析AST字符串。现在,我正处于将小型树结构转换回代码进行分析的阶段将字符串类型的抽象语法树(AST)转换为Python代码?,python,parsing,compiler-construction,abstract-syntax-tree,Python,Parsing,Compiler Construction,Abstract Syntax Tree,我正在处理Python代码的已解析AST字符串。现在,我正处于将小型树结构转换回代码进行分析的阶段 import ast ast_string = ast.dump(ast.parse("[1,2,3]")) print(ast_string) # 'Module(body=[Expr(value=List(elts=[Num(n=1), Num(n=2), Num(n=3)], ctx=Load()))])' 现在,我想将这个模块(body=[Expr(value=List(elts=[Nu
import ast
ast_string = ast.dump(ast.parse("[1,2,3]"))
print(ast_string)
# 'Module(body=[Expr(value=List(elts=[Num(n=1), Num(n=2), Num(n=3)], ctx=Load()))])'
现在,我想将这个模块(body=[Expr(value=List(elts=[Num(n=1)、Num(n=2)、Num(n=3)]、ctx=Load())])转换回代码
例如:
def ast_to_code(ast_string):
....
code = ast_to_code(ast_string)
print(code) # [1,2,3]
提前谢谢。我在网上搜索过,找到了不同的库,它们接受解析树对象,然后将其转换回代码。我找不到可以将字符串中的任何AST树转换回代码的东西。请参阅我的答案:Nomiluks:我有一个相同的问题,您找到了Python解决方案吗?您尝试过libcst吗?我可以从node生成代码这里还有与此相关的帖子: