Python AST 从类节点中提取字段和变量名称

问题描述

我已成功从 python 源代码文件提取所有类定义函数名称,但无法从中提取字段名称或变量名称。是否可以在 ast 中遍历 ClassDef 节点并提取字段名称或变量名称?我找不到任何内置函数

import ast
with open("/content/challenges.py") as fd:
    file_contents = fd.read()   
    module = ast.parse(file_contents)
       
    class_deFinitions = [node for node in module.body if isinstance(node,ast.ClassDef)]
    #class deFinitions
    print(len(class_deFinitions))
    for className in class_deFinitions:
       print(className.name)

    print("Printing function names Now")   
    #function names
    for val in class_deFinitions:
      methods = [stmt for stmt in val.body if isinstance(stmt,ast.FunctionDef)]
      for method in methods:
        print(method.name)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)