将返回的值添加到python中的列表?

时间:2017-10-27 20:41:36

标签: python

当我打印出来时,我得到:

FuncA
FuncB
FuncC 

当我真正想要的是:

['FuncA', 'FuncB', 'FuncC'] 

我如何能够遍历我返回的值并将它们添加到列表中?

1 个答案:

答案 0 :(得分:0)

不是手动查找文本(很容易导致误报),而是使用ast module构建抽象语法树,然后使用以下内容提取函数名称:

import ast

functions = []

with open( 'codefile.py', 'r') as file:
    tree = ast.parse(file.read(), 'codefile.py')
    for node in ast.walk(tree):
        if isinstance(node, ast.FunctionDef):
            functions.append(node.name)

print(functions)

这可以在源代码中的任何位置查找所有函数对象,就像搜索def文本一样。例如,除此之外,它会在字符串文字中注释掉代码或单词def