Python - traceback模块获知<是谁在调用我?>

traceback模块可以捕获异常,但是这里我只用作来获取

现在是谁在调用我!

 

在当前函数我被另外一个函数调用了,我想知道谁在调用我

就可以用traceback,如果您有更简单的办法,请留言告诉我,谢谢。

这个方法也是在百度上搜的

 

import traceback


def fun():
    s = traceback.extract_stack()
    # print(s)
    # item = s[-1]
    # print(type(item))
    # print(item[0])
    # print(item[1])
    # print(item[2])
    # print(item[3])
    print('%s 在调用我!' % s[-2][2])
    if s[-2][2] == 'a':
        print('测试成功!' + str(type(s[-2][2])))
    else:
        print('测试失败')


def a():
    fun()


a()

 

打印结果:

 

posted @ 2020-04-20 16:00  清酒伴歌谣  阅读(388)  评论(0编辑  收藏  举报