gpt4 book ai didi

python - 如何在交互式 shell 中使用 ast.parse() 来解析文件

转载 作者:行者123 更新时间:2023-12-01 01:23:16 34 4
gpt4 key购买 nike

所以我有这个文件:

>cat ~/tmp/junk.py
def foo(a, b, c = 100):
return a + b + c

z = foo(10, 20)
print(z)

然后在Python3.7交互式shell中:

>>> import ast
>>> root=ast.parse("", "~/tmp/junk.py")
>>> ast.dump(root)
'Module(body=[])'
>>> for node in ast.walk(root):
... ast.dump(node)
...
'Module(body=[])'

我的目标是检查函数参数 a、b 和 c 的 AST 节点。你能帮我看看我做错了什么吗?

谢谢!

最佳答案

您应该传递 ast.parse 您想要解析的实际源代码,而不是空字符串:

with open(filename) as f:
tree = ast.parse(f.read(), filename=filename)

关于python - 如何在交互式 shell 中使用 ast.parse() 来解析文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53584064/

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