python:如何通过检查获取调用方法的类?
我想知道我的异常类中,哪个函数创建了这个异常对象。如果这个函数是一个方法的话,我还想显示出它所属的类名。
所以在我的异常类的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__