我知道如何通过ast2json
库将python ast
转换为json
import ast
from ast2json import ast2json
node = ast.parse("2+3", mode='eval')
e = eval(compile(node,'<string>','eval')) # equals
node_j = ast2json(node)
字符串
这给了我一个物体
{'_type': 'Expression',
'body': {'_type': 'BinOp',
'col_offset': 0,
'left': {'_type': 'Num', 'col_offset': 0, 'lineno': 1, 'n': 2},
'lineno': 1,
'op': {'_type': 'Add'},
'right': {'_type': 'Num', 'col_offset': 2, 'lineno': 1, 'n': 3}}}
型
但是如何将node_j
对象转换回ast
对象呢?
1条答案
按热度按时间6za6bjd01#
有一个反向转换工具,json2ast https://pypi.org/project/json2ast/
https://pypi.org/project/ast2json/的