【发布时间】:2012-10-21 12:10:30
【问题描述】:
如何从函数中获取调用者对象,并检查有关该调用者的信息?
class A(object):
def class_A_fun(self):
print 'caller from class' # → B
print 'caller from method' # → class_B_fun
print 'caller module' # → foomodule
print 'caller instance' # → obj
print 'caller object file name or path' # → 'foomodule.py'
class B(object):
def class_B_fun(self):
obj = A()
obj.class_A_fun()
if __name__ == "__main__":
obj = B()
obj.class_B_fun()
【问题讨论】:
-
也许this 有帮助。 Google 'python get caller' 出现了一些不错的结果。
-
你想做什么?这样做通常不是一个好主意。
-
@phant0m 我正在尝试开发自定义记录器框架,它可以获取如上所示的对象信息。
标签: python introspection