Convert ast node into python object
abstract-syntax-tree, python
Solution
Perhaps you're looking for `compile()`? The result of calling `compile()` on an AST object is a code object that can be passed to `eval()`.
>>> src = '[i**2 for i in range(10)]'
>>> b = ast.parse(src, mode='eval')
>>> eval(compile(b, '', 'eval'))
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
Problem
Given an `ast` node that can be evaluated by itself, but is not literal enough for `ast.literal_eval` e.g. a list comprehension ``` src = '[i**2 for i in range(10)]' a = ast.parse(src) ``` Now `a.body[0]` is an `ast.Expr` and `a.body[0].value` an `ast.ListComp`. I would like to obtain the list that `eval(src)` would result, but given only the `ast.Expr` node.