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()

打印结果:

原文地址:https://www.cnblogs.com/cxstudy/p/12738362.html