traceback中输出回溯信息中包含帧局部变量列表

来源:互联网 发布:利用网络宣传党史 编辑:程序博客网 时间:2024/05/22 03:39
#-*-coding:utf-8-*-'''Created on 2015年10月23日@author: Zroad'''import sys,tracebackdef print_exc_plus():    """    打印回溯信息,附有每帧中的局部变量列表    """    tb = sys.exc_info()[2]    while tb.tb_next:        tb = tb.tb_next    stack = []    f = tb.tb_frame    while f:        stack.append(f)        f = f.f_back    stack.reverse()    traceback.print_exc()    print "Locals by frame,innermost last"    for frame in stack:        print "Frame %s in %s at line %s" % (frame.f_code.co_name,frame.f_code.co_filename,frame.f_lineno)    for key,value in frame.f_locals.items():        print "\t%20s = " % key        try:            print value        except:            print "<ERROR WHILE PRINTING VALUE>"def add(seq):    sum = ""    for i in seq:        sum += i    return sum"""if __name__ == "__main__":    data = ['1','2',3,'4']    flag = True    try:        add(data)    except:        if flag:            print_exc_plus()        else:            traceback.print_exc()  """      
0 0
原创粉丝点击