sys.stdout.flush()函数

python的stdout是有缓冲区的,给你个例子你就知道了

[python]  view plain  copy
  1. import time  
  2. import sys  
  3. for i in range(5):  
  4.     print i,  
  5.     #sys.stdout.flush()  
  6.     time.sleep(1)  

这个程序本意是每隔一秒输出一个数字,但是如果把这句话sys.stdout.flush()注释的话,你就只能等到程序执行完毕,屏幕上会一次性输出0,1,2,3,4。

如果你加上sys.stdout.flush(),刷新stdout,这样就能每隔一秒输出一个数字了。

可以用在网络程序中多线程程序,多个线程后台运行,同时要能在屏幕上实时看到输出信息。

猜你喜欢

转载自blog.csdn.net/m0_37407756/article/details/80765864