gpt4 book ai didi

python - 使用 python ast 中 ._field 属性中存储的值

转载 作者:行者123 更新时间:2023-12-01 06:10:49 25 4
gpt4 key购买 nike

这个问题是我的 python ast 工作的结果。

我在ast中有一个节点,我想获取它的子节点。

._field 属性给出节点所有子节点的名称。然而,根据语法节点的不同,它对于不同的节点是不同的。

例如,如果节点的类型为 BinOp..,则 node._field 将产生 ('left','op', 'right')

因此,要访问节点的子节点,我必须使用node.left、node.op 和node.right

但我想对任何通用节点执行此操作。

给定任何节点,如果我使用node._field,它会给我一个元组。我如何使用这个元组来获取 child 。该节点可以是任意通用节点。所以我事先不知道元组会是什么样子。

代码形式的例子会非常好!谢谢!

最佳答案

要迭代任意节点的子节点,请使用 ast.iter_child_nodes() 。要迭代字段,请使用 ast.iter_fields() .

关于python - 使用 python ast 中 ._field 属性中存储的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6018025/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com