首页 > 编程 > Python > 正文

Python记录详细调用堆栈日志的方法

2019-11-25 17:32:59
字体:
来源:转载
供稿:网友

本文实例讲述了Python记录详细调用堆栈日志的方法。分享给大家供大家参考。具体实现方法如下:

import sysimport osdef detailtrace(info):  retStr = ""  curindex=0  f = sys._getframe()  f = f.f_back    # first frame is detailtrace, ignore it  while hasattr(f, "f_code"):    co = f.f_code    retStr = "%s(%s:%s)->"%(os.path.basename(co.co_filename),         co.co_name,         f.f_lineno) + retStr    f = f.f_back  print retStr+infodef foo():  detailtrace("hello world")def bar():  foo()def main():  bar()if __name__ == "__main__":  main()

输出:

aaa1.py(<module>:27)->aaa1.py(main:24)->aaa1.py(bar:21)->aaa1.py(foo:18)->hello world

希望本文所述对大家的Python程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表