这是针对我正在努力帮助我自己的工作流程的项目,而不是用于生产的任何项目。所以我明白我所做的事情可能绝对不是正确的事情,但我很好奇是否有可能。
我有一些像这样的代码:
from B import *
def f1():
...
def f2():
...
...
导入模块B
时是否有办法获取导入器中定义的函数列表A.py
?
我考虑过使用inspect模块来检查调用堆栈。但我不确定入口点在哪里,我认为它将在B.py
的全球范围内。我也不确定导入模块时调用堆栈是什么样的。
任何帮助都将不胜感激。
谢谢!
答案 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 以使用此功能。