Skip to content

Latest commit

 

History

History
20 lines (13 loc) · 949 Bytes

File metadata and controls

20 lines (13 loc) · 949 Bytes
sys._getframe([depth])

从调用堆栈返回一个框架对象。如果可选整数深度给定,则返回该帧的对象。如果比所述调用栈更深,ValueError被挂起。默认 对于深度是零,在调用栈顶部的框架返回。

import sys
def testSys():
    print sys._getframe().f_code.co_filename            #当前文件路径:/Users/fang/project/demo/dic.py,也可以通过__file__获取
    print sys._getframe(0).f_code.co_name               #当前函数名:testSys
    print sys._getframe(1).f_code.co_name               #调用该函数的函数的名字,如果没有被调用,则返回<module>,貌似call stack的栈低
    print sys._getframe().f_lineno                      #当前行号 13
    print sys._getframe(0).f_code.co_filename           #当前文件路径
    print sys._getframe(0).f_back.f_code.co_filename    #当前文件路径


if __name__ == '__main__':
    testSys()