想像してみましょうfoo.py
、関数が宣言されたモジュールを持っていますfoofunc
:
def foofunc():
# smart things
return
そして 2 つの異なるモジュール —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>
現実の世界でも似たようなことはありますか?