需求:打印一顆”*”休息1s
代碼如下:
#!/usr/bin/python#coding=utf-8'''暫停1s輸出'''import timedef printStar(n): for i in range(n): print " * ", time.sleep(1)if __name__ == '__main__': printStar(10)
輸出結果(等待10s后一次性輸出):
[root@miner_k test]# python sleep.py * * * * * * * * * *
分析原因:
在運行代碼時,打印10個"*"沒有占滿緩存區,所以等到程序結束時,才會一次性輸出。
緩沖區的刷新方式: 1.flush()刷新緩存區 2.緩沖區滿時,自動刷新 3.文件關閉或者是程序結束自動刷新。
正確代碼:
#!/usr/bin/python#coding=utf-8'''暫停1s輸出'''import timeimport sysdef printStar(n): for i in range(n): print " * ", sys.stdout.flush() time.sleep(1)if __name__ == '__main__': printStar(10)
以上這篇python運行時強制刷新緩沖區的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林站長站。
新聞熱點
疑難解答