python之sys._getframe

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 #當前行號
複製代碼
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章