获取导入模块的文件中的列表函数

时间:2017-03-28 22:51:23

标签: python python-3.x python-module

这是针对我正在努力帮助我自己的工作流程的项目,而不是用于生产的任何项目。所以我明白我所做的事情可能绝对不是正确的事情,但我很好奇是否有可能。

我有一些像这样的代码:

A.py:

from B import *

def f1():
    ...

def f2():
    ...

...

导入模块B时是否有办法获取导入器中定义的函数列表A.py

我考虑过使用inspect模块来检查调用堆栈。但我不确定入口点在哪里,我认为它将在B.py的全球范围内。我也不确定导入模块时调用堆栈是什么样的。

任何帮助都将不胜感激。

谢谢!

1 个答案:

答案 0 :(得分:0)

如果您知道要导入 B.py 的模块,那么您可能会遇到以下情况:

<强> A.py

import B

def f1():
    return 1

def f2():
    return 1

def f3():
    return 1

if __name__=="__main__":
    print temp.allF()

<强> B.py

import inspect, A

def allF():
    return inspect.getmembers(A, inspect.isfunction)

当您运行 A.py 时,它会为您提供一系列功能。 我不确定是否有办法访问导入给定模块的脚本,但如果可以,那么您可以稍微更改 B.py 以使用此功能。