sys.stdout.flush() -> 这句代码的意思是刷新输出
Linux系统下执行脚本
不加sys.stdout.flush()
![1.png wKiom1em-q3j287KAAAgNCFY8Gg788.png-wh_50](https://i-blog.csdnimg.cn/blog_migrate/1ae8ac1afee7ee0ba68dfcbbcca813ab.png)
![2.png wKioL1em-q7iV7OSAAAKpBc3ZiI898.png-wh_50](https://i-blog.csdnimg.cn/blog_migrate/3624ea2dd724f88b6b41b8296ede7814.png)
上图所示:上面这个脚本他的原意是一秒在一排输出一个数字,但是他没有加sys.stdout.flush(),所以他在五秒之后,也就是等到程序执行完毕,他才一次性输出0,1,2,4,5
加了sys.stdout.flush()执行脚本
![3.png wKioL1em-4eA4LTUAAAdYDhvJ04341.png-wh_50](https://i-blog.csdnimg.cn/blog_migrate/aecc33a419c4a2fbbaa46b7adaa32a45.png)
![4.png wKiom1em-4egj402AAAI-NfQsw4552.png-wh_50](https://i-blog.csdnimg.cn/blog_migrate/3a58e5e030b56ff233dfef74db9bfeac.png)
上图所示:程序加上了sys.stdout.flush(),他就一秒输出了一个数字,这是在Linux系统下的效果
Windows系统下执行脚本
不加sys.stdout.flush()
![1.png wKioL1em_E2Bfsj8AABXZbrCZB0574.png-wh_50](https://i-blog.csdnimg.cn/blog_migrate/3b6d66ae5691116f0ce72db917c303d4.png)
![2.png wKiom1em_E2xFI-kAABcMWzXr2I642.png-wh_50](https://i-blog.csdnimg.cn/blog_migrate/0e785d436b704b4126201fb5acd80a1f.png)
结论,在Windows系统下不加sys.stdout.flush()他也是一秒输出了一个数字
加了sys.stdout.flush()执行脚本
![3.png wKioL1em_E6hmwpxAABxme2Gj5I633.png-wh_50](https://i-blog.csdnimg.cn/blog_migrate/09412faeabd61cf573a75a9985e64000.png)
![4.png wKiom1em_E7SgvZLAABq06LddtM473.png-wh_50](https://i-blog.csdnimg.cn/blog_migrate/dd80a68e0c18475e25765fc8040b409d.png)
上图所示;加了sys.stdout.flush()也是一秒输出一个数字
总结:
在Linux系统下,必须加入sys.stdout.flush()才能一秒输一个数字
在Windows系统下,加不加sys.stdout.flush()都能一秒输出一个数字
本文出自 “yht的运维笔记” 博客,请务必保留此出处http://yht1990.blog.51cto.com/9014030/1835387