标签:style blog class code java c
一、pdb使用
pdb 是 python 自带的一个包,为 python 程序提供了一种交互的源代码调试功能,主要特性包括设置断点、单步调试、进入函数调试、查看当前代码、查看栈片段、动态改变变量的值等。
在程序中间插入一段程序(import pdb pdb.set_trace() ),相对于在一般IDE里面打上断点然后启动debug,不过这种方式是hardcode的
1、加入断点
#!/usr/bin/python import pdb _DEBUG = True def debug_demo(val): if _DEBUG == True: pdb.set_trace() if val <= 1600 : print "level 1" print 0 elif val <= 3500 : print "level 2" print (val - 1600) * 0.05 elif val <= 6500 : print "level 3" print (val - 3500) * 0.10 + (3500 - 1600) * 0.05 else: print "level 4" print (val - 6500) * 0.20 + (6500 - 3500) * 0.10 + (3500 - 1600) * 0.05 # ~def debug_demo if __name__ == "__main__": debug_demo(4500)
2、开始调试
二、logging使用
# encoding:utf-8 import logging log1 = logging.getLogger(‘a.b.c‘) log2 = logging.getLogger(‘a.d.e‘) filehandler = logging.FileHandler(‘test.log‘, ‘a‘) formatter = logging.Formatter(‘%(name)s %(asctime)s %(levelname)s %(message)s‘) filehandler.setFormatter(formatter) filter = logging.Filter(‘a‘) filehandler.addFilter(filter) log1.addHandler(filehandler) log2.addHandler(filehandler) log1.setLevel(logging.DEBUG) log2.setLevel(logging.DEBUG) log1.debug(‘it is a debug info for log1‘) log1.info(‘normal infor for log1‘) log1.warning(‘warning info for log1:b.c‘) log1.error(‘error info for log1:abcd‘) log1.critical(‘critical info for log1:not worked‘) log2.debug(‘debug info for log2‘) log2.info(‘normal info for log2‘) log2.warning(‘warning info for log2‘) log2.error(‘error:b.c‘) log2.critical(‘critical‘)
logging lib 包含 4 个主要对象
【Python】代码调试(pdb与logging使用),布布扣,bubuko.com
标签:style blog class code java c
原文地址:http://www.cnblogs.com/luosongchao/p/3725388.html