我有一个 Python 模块,里面有一个函数:
== bar.py ==
def foo(): pass
== EOF ==
然后我将它导入全局命名空间,如下所示:
from bar import *
现在函数 foo
对我可用了。如果我打印它:
print foo
解释器愉快地告诉我:
<function foo at 0xb7eef10c>
有没有办法让我找出函数 foo
此时来自模块 bar
?
最佳答案
foo.__module__
应该返回 bar
如果您需要更多信息,可以从 sys.modules['bar']
获取,其 __file__
和 __package__
属性可能变得有趣。
关于python - 如何找到在 Python 中导入函数的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1730466/