python中sys.stdout.flush()的作用

import time
import sys
for i in range(5):
    print i,
    #sys.stdout.flush()
    time.sleep(1)
# sys.stdout.flush()加注释将会等待5秒,最终输出0 1 2 3 4,不加将会每隔1秒输出一个数字
# sys.stdout.flush()会刷新标准输出的缓存输出,另一种当标准输出遇到“\n”时,也会指令性输出,print函数默认end=“\n”,所以也会输出,python缓存机制,虽然stderr和stdout默认都是指向屏幕的,但是stderr是无缓存的,
程序往stderr输出一个字符,就会在屏幕上显示一个;而stdout是有缓存的,只有遇到换行或者积累到一定的大小,才会显示出来
posted @ 2020-08-10 14:15  聚集的流星  阅读(1605)  评论(0编辑  收藏  举报