Python中使用logging模块代替print(logging简明指南)

1039次阅读  |  发布于5年以前

替换print?print怎么了?

print 可能是所有学习Python语言的人第一个接触的东西。它最主要的功能就是往控制台 打印一段信息,像这样:

复制代码 代码如下:

print 'Hello, logging!'

print也是绝大多数人用来调试自己的程序用的最多的东西,就像写js使用 console.log 一样那么自然。很多刚刚开始学习Python的新手甚至有一定经验的老手,都在使用print 来调试他们的代码。

比如这是一个我写的输出 斐波那契数列 的小程序,让我们来看看它的代码:

复制代码 代码如下:

-- coding: utf-8 --

"""
A simple fibonacci program
"""
import argparse

parser = argparse.ArgumentParser(description='I print fibonacci sequence')
parser.add_argument('-s', '--start', type=int, dest='start',
help='Start of the sequence', required=True)
parser.add_argument('-e', '--end', type=int, dest='end',
help='End of the sequence', required=True)

def infinite_fib():
a, b = 0, 1
yield a
yield b
while True:

print 'Before caculation: a, b = %s, %s' % (a, b)

    a, b = b, a + b  
    #print 'After caculation: a, b = %s, %s' % (a, b)  
    yield b

def fib(start, end):
for cur in infinite_fib():

print 'cur: %s, start: %s, end: %s' % (cur, start, end)

    if cur > end:  
        return  
    if cur >= start:  
        #print 'Returning result %s' % cur  
        yield cur

def main():
args = parser.parse_args()
for n in fib(args.start, args.end):
print n,

if name == 'main':
main()

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8