python:如何通过检查获取调用方法的类?

3 投票
1 回答
2258 浏览
提问于 2025-04-16 16:51

我想知道我的异常类中,哪个函数创建了这个异常对象。如果这个函数是一个方法的话,我还想显示出它所属的类名。

所以在我的异常类的init方法里,我获取了调用这个函数的名字:

frame, module, line, function, context, index = inspect.stack()[1]

但是有没有办法获取调用这个函数的类名(如果有的话)呢?

1 个回答

2

假设这个框架是用于一个实例方法:

self_argument = frame.f_code.co_varnames[0]  # This *should* be 'self'.
instance = frame.f_locals[self_argument]
class_name = instance.__class__.__name__

撰写回答