1. 程式人生 > >Python 進度條原理

Python 進度條原理

標準化 flush 數量 class 硬盤 div 顯示時間 臨時 pre

1 #進度條原理
2 import sys,time
3 for i in range(50):
4     sys.stdout.write("#")#標準輸出
5 #若不能夠按照時間一個一個依次顯示,則代表設置有達到一定數量才會被寫入內存。利用flush解決
6    # sys.stdout.flush()
7     time.sleep(0.1)

進度條原理很簡單:

文件的標準化輸出。

如果控制臺顯示時,出現幾個一起顯示,可能有兩種原因:
1.代碼所示,內存讀入數量的限制。

利用flush可以解決。

2.顯示時間的問題。

這裏著重記錄一下flush的原理:
f.flush()刷新。文件內容暫存在緩存中,達到一定數量才統一刷進內存中。在硬盤上修改,會把之前的內容覆蓋掉,所以文件需要先讀入內存,然後再進行修改。若想規定每寫一行都到硬盤上,則flush在此處能夠強制刷新到硬盤上。

聯想到f.buffer()

雖然可以臨時緩存文件,但是空間很小。

Python 進度條原理