现在的位置: 首页 > 综合 > 正文

飘逸的python – inspect谁调用了我

2014年01月04日 ⁄ 综合 ⁄ 共 259字 ⁄ 字号 评论关闭

当程序出现诡异的bug时,我们需要层层去跟踪,尤其是要理清顺序。
这时如果有个清晰的调用脉络调试就容易多了。

利用inspect模块的getframeinfo方法来实现这需求。

上代码感受下。

import inspect
def foo():
    who = inspect.getframeinfo(inspect.currentframe().f_back)[2]
    print '{} call me'.format(who)

def a():
    foo()

def b():
    foo()

a()
b()
a()

结果输出:

a call me
b call me
a call me

抱歉!评论已关闭.