Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将字符串类型的抽象语法树(AST)转换为Python代码?_Python_Parsing_Compiler Construction_Abstract Syntax Tree - Fatal编程技术网

将字符串类型的抽象语法树(AST)转换为Python代码?

将字符串类型的抽象语法树(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

我正在处理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=[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生成代码这里还有与此相关的帖子: