Я работаю над разобранной строкой AST кода Python. Сейчас я нахожусь на этапе, когда я хочу преобразовать небольшие древовидные структуры в код для некоторого анализа.
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()))])'
Теперь я хочу преобразовать этот Module(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 в строку обратно в код.