来源:http://leejd.cndev.org/archive/2005/04/06/10137.aspx

 

一直都感觉,Python的开发,最大的困难是调试部分,没有一个很好的调试环境可以使用,使用日志感觉又不是很方便。这两天调试循环,把我累的够戗。因为循环次数都是过千次的,前面几百次循环基本不会出现什么问题的,主要是后面的处理可能会出错。换了几个IDE调试都不是很爽,最后想到使用日志方式,把每个循环都打印出来,记录到一个文件中。不过Python的logging提供的日志信息太丰富了,我只要简单的信息即可,以方便定位。

后来从一本电子书里面找到一段代码,就是将原先的stdout重定向一下,完成之后再重定向回去。用了之后,感觉还是不错的,调试信息明显减少了很多,简单又方便:
---------------------------------------
import sys
...
if __name__=='__main__':
    oldStdout = sys.stdout
    sys
.stdout = open("script.log", "w+")
    print script.SchoolSong(Download())
    sys.stdout = oldStdout
----------------------------------------