刷新包含下载百分比的输出行

时间:2011-09-25 21:34:28

标签: python bash python-3.x

我正在编写一个必须从www下载多个文件的脚本。 为了使它更具表现力,我刚刚添加了一个下载钩子来计算已下载文件的下载百分比。在终端上打印产生大量输出,因为每次百分比计数器递增时我都会重写相同的行,例如:

1% - Downloading test.jpg
2% - Downloading test.jpg
... and so on

我想获得许多bash脚本或程序(例如来自ubuntu的“apt-get”):刷新包含百分比的行,而不必多次写入包含更新百分比的同一行。< / p>

我该怎么做? 感谢。

[编辑] 我正在使用Python3.2来开发文件下载器。

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:2)

使用\r(回车)并使用sys.stdout.write直接写入终端:

import time
import sys
for i in range(101):
    sys.stdout.write('%3d%%\r' % i)
    time.sleep(.1)

或者更多Python 3-ish:

import time
for i in range(101):
    print('{:3}%'.format(i),end='\r')
    time.sleep(.1)