Python中使用logging模块代替print(logging简明指南)
替换print?print怎么了?
print可能是所有学习Python语言的人第一个接触的东西。它最主要的功能就是往控制台打印一段信息,像这样:
print'Hello,logging!'
print也是绝大多数人用来调试自己的程序用的最多的东西,就像写js使用console.log一样那么自然。很多刚刚开始学习Python的新手甚至有一定经验的老手,都在使用print来调试他们的代码。
比如这是一个我写的输出斐波那契数列的小程序,让我们来看看它的代码:
#-*-coding:utf-8-*- """ Asimplefibonacciprogram """ importargparse
parser=argparse.ArgumentParser(description='Iprintfibonaccisequence') parser.add_argument('-s','--start',type=int,dest='start', help='Startofthesequence',required=True) parser.add_argument('-e','--end',type=int,dest='end', help='Endofthesequence',required=True)
definfinite_fib(): a,b=0,1 yielda yieldb whileTrue: #print'Beforecaculation:a,b=%s,%s'%(a,b) a,b=b,a+b #print'Aftercaculation:a,b=%s,%s'%(a,b) yieldb
deffib(start,end): forcurininfinite_fib(): #print'cur:%s,start:%s,end:%s'%(cur,start,end) ifcur>end: return ifcur>=start: #print'Returningresult%s'%cur yieldcur
defmain(): args=parser.parse_args() forninfib(args.start,args.end): printn,
if__name__=='__main__': main()