假设myapp/foo.py包含:
def info(msg):
caller_name = ????
print '[%s] %s' % (caller_name, msg)
Run Code Online (Sandbox Code Playgroud)
并myapp/bar.py包含:
import foo
foo.info('Hello') # => [myapp.bar] Hello
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我希望caller_name将其设置为__name__调用函数模块的属性(即'myapp.foo').如何才能做到这一点?