python 重定义print


                import sys
real_out = sys.stdout
class MyOutput:
  def write(self, text):
    text = text.strip()
    if not text: return       #注释1
    # send to web server
    real_out.write(text)
sys.stdout = MyOutput()
print "hello world"
注释1: print "hello,world" 会分别调用sys.stdout.write("hello,world"),和 sys.stdout.write("\n"), 所以如果没有这一句,那么就会输出2次text