2011-02-07 50 views
0

我不知道正確的術語,所以搜索如何實現這一點很困難。如何在Python中更新命令行狀態欄

命令行程序通常只是打印文本行。但有時候,文本會被更新。好例子是git pullwget

作爲例子:

[> ] 25% 
[-> ] 50% 
[--> ] 75% 
[--->] 100% 

但隨後在同一行上隨時間改變。

如何在Python中創建這種類型的東西?它不必是比這更復雜,我只想讓狀態欄...

(我想這個工作至少在Ubuntu,但跨平臺是最好的。)

回答

3

魔術是在\r角色,又名回車,又名回到當前行的開始。

from __future__ import print_function 
import time  

for i in xrange(1, 100): 
    print('[{0:10}]'.format('-' * (i/10)), end = '\r') 
    time.sleep(0.1) 

也有管理輸出到控制檯更先進的方式(通過控制檯API在Windows或ANSI轉義代碼) - 它們允許你自由移動光標和修改文本屬性,如顏色。

+0

這不適用於標準的bash終端。 – 2011-02-07 08:36:24

0

打印 「進步文本\ r」,

通知後面的逗號從而抑制新的生產線。

+0

這似乎並沒有對我的Bash終端做任何事情 – 2011-02-08 04:28:50