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

时间:2011-05-02 23:18:03

标签: python

对于我的异常类,我想知道实例化异常对象的函数是否是方法,如果是,则显示类名。

因此,在我的异常类的 init 方法中,我得到了调用函数的名称:

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

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

1 个答案:

答案 0 :(得分:2)

假设该帧用于实例方法:

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