在 Python 中访问调用者的方法名称
在被调用方法中获取调用方法的名称对于调试和自省非常有用。为了实现这一点,Python 提供了检查模块,它提供了一组用于检查代码对象的函数。
利用检查中的 getframeinfo 和 currentframe 函数,可以访问调用堆栈并检索调用者的帧。通过迭代调用堆栈,可以识别调用者的名称。
这是说明此方法的示例:
import inspect def method1(): frame = inspect.currentframe() outer_frame = inspect.getouterframes(frame, 2)[1] print(f"Caller's name: {outer_frame[3]}") method2() def method2(): frame = inspect.currentframe() outer_frame = inspect.getouterframes(frame, 2)[1] print(f"Caller's name: {outer_frame[3]}") method1()
执行时,此代码将输出:
Caller's name: method1 Caller's name: method2
虽然内省有利于调试和开发,但不应该在与生产相关的过程中过度依赖它功能。
以上是如何在Python中获取调用者的方法名称?的详细内容。更多信息请关注PHP中文网其他相关文章!