你有什么想法如何合并两个使用python ast的asts?
我愿做这样的事情:Python AST - 合并两个AST
n1 = ast.parse(input_a)
n2 = ast.parse(input_b)
n = merge(n1,n2)
我想创建根n,其中儿童的n1和n2。
在此先感谢
你有什么想法如何合并两个使用python ast的asts?
我愿做这样的事情:Python AST - 合并两个AST
n1 = ast.parse(input_a)
n2 = ast.parse(input_b)
n = merge(n1,n2)
我想创建根n,其中儿童的n1和n2。
在此先感谢
看样子你可以这样做:
n1.body += n2.body
但我无法找到任何地方记录。
样品:
>>> a=ast.parse("i=1")
>>> b=ast.parse("j=2")
>>> a.body += b.body
>>> exec compile(a, "<string>", "exec")
>>> print i
1
>>> print j
2
>>>
不要你需要指定你节点类型?似乎这将高度依赖于'input_a'和'input_b'。例如, – mgilson 2013-05-06 19:33:34
,两个输入都可以是函数的定义,我需要将这两个asts合并为一个。我不想一起调用AST解析器,因为如果其中一个是无效的,我没有得到任何输出... – Kapucko 2013-05-06 19:40:15