当我打印出来时,我得到:
FuncA
FuncB
FuncC
当我真正想要的是:
['FuncA', 'FuncB', 'FuncC']
我如何能够遍历我返回的值并将它们添加到列表中?
答案 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
。