sys._getframe([depth])
Return a frame object from the call stack. If optional integer depth is given, return the frame object that many calls below the top of the stack. If that is deeper than the call stack, ValueError is raised. The default for depth is zero, returning the frame at the top of the call stack.
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 #調用該函數的函數的名字,如果沒有被調用,則返回<module>,貌似call stack的棧低 print sys._getframe().f_lineno #當前行號