【发布时间】:2013-08-28 13:45:03
【问题描述】:
让我们想象一下,我有一个模块foo.py,声明了一个函数foofunc:
def foofunc():
# smart things
return
还有两个不同的模块——bar.py 和spam.py,其中存在直接执行来自foo 模块的函数的代码。
# `bar` module. All rights reserved.
from foo import foofunc
def run_foofunc():
return foofunc()
另一个模块中的相同内容:
# `spam` module. All rights reserved.
from foo import foofunc
def run_foofunc():
return foofunc()
我需要知道函数在哪里执行,而不知道可能的位置。比如:
def foofunc():
print inspect.executedfrom()
会在标准输出中做类似的事情
<pack.bar.run_foofunc>
在现实世界中有类似的东西吗?
【问题讨论】:
-
无论实际答案是什么,您似乎都做错了。你为什么要这样做?
-
我在一个名为 OpenStack 的大型项目中工作;)而且我是新手。我需要它来研究和调试。
标签: python function introspection