是的,该
sys._getframe()函数让您从当前执行堆栈中检索框架,然后可以使用
inspect模块中找到的方法和文档进行检查;您将在
f_locals属性中寻找特定的本地人以及
f_pre信息:
import sysdef special_func(x): callingframe = sys._getframe(1) print 'My caller is the %r function in a %r class' % ( callingframe.f_pre.co_name, callingframe.f_locals['self'].__class__.__name__)
请注意,您需要格外小心以检测在每个帧中找到的信息类型。
sys._getframe()返回一个框架对象,您可以通过遵循
f_back每个框架上的引用来链接整个堆栈。或者,您可以使用该
inspect.stack()功能生成带有其他信息的框架列表。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)