1. 程式人生 > >sys.stdout.flush() Python的作用

sys.stdout.flush() Python的作用

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()都能一秒輸出一個數字