python frame_Python Frame

sys._getframe([depth])

Return a frame object from the call stack

depth 表示调用栈的深度,默认为0,返回栈顶的框架

Frame objects

Frame objects represent execution frames

Special read-only attributes: f_back is to the previous stack frame (towards the caller), or None if this is the bottom stack frame; f_code is the code object being executed in this frame; f_locals is the dictionary used to look up local variables; f_globals is used for global variables; f_builtins is used for built-in (intrinsic) names; f_lasti gives the precise instruction (this is an index into the bytecode string of the code object).

Special writable attributes: f_trace, if not None, is a function called at the start of each source code line (this is used by the debugger); f_lineno is the current line number of the frame — writing to this from within a trace function jumps to the given line (only for the bottom-most frame). A debugger can implement a Jump command (aka Set Next Statement) by writing to f_lineno.

import sys

def get_cur_info():

print sys._getframe().f_code.co_filename #当前文件名,可以通过__file__获得

print sys._getframe(0).f_code.co_name #当前函数名

print sys._getframe(1).f_code.co_name #调用该函数的函数的名字,如果没有被调用,则返回,貌似call stack的栈底

print sys._getframe().f_lineno #当前行号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值