sys.stdout.flush() -> 这句代码的意思是刷新输出


Linux系统下执行脚本

不加sys.stdout.flush()

wKiom1em-q3j287KAAAgNCFY8Gg788.png-wh_50

wKioL1em-q7iV7OSAAAKpBc3ZiI898.png-wh_50

上图所示:上面这个脚本他的原意是一秒在一排输出一个数字,但是他没有加sys.stdout.flush(),所以他在五秒之后,也就是等到程序执行完毕,他才一次性输出0,1,2,4,5


加了sys.stdout.flush()执行脚本

wKioL1em-4eA4LTUAAAdYDhvJ04341.png-wh_50

wKiom1em-4egj402AAAI-NfQsw4552.png-wh_50

上图所示:程序加上了sys.stdout.flush(),他就一秒输出了一个数字,这是在Linux系统下的效果


Windows系统下执行脚本

不加sys.stdout.flush()

wKioL1em_E2Bfsj8AABXZbrCZB0574.png-wh_50

wKiom1em_E2xFI-kAABcMWzXr2I642.png-wh_50

结论,在Windows系统下不加sys.stdout.flush()他也是一秒输出了一个数字


加了sys.stdout.flush()执行脚本

wKioL1em_E6hmwpxAABxme2Gj5I633.png-wh_50

wKiom1em_E7SgvZLAABq06LddtM473.png-wh_50

上图所示;加了sys.stdout.flush()也是一秒输出一个数字


总结:

在Linux系统下,必须加入sys.stdout.flush()才能一秒输一个数字

在Windows系统下,加不加sys.stdout.flush()都能一秒输出一个数字