【问题标题】:Refresh output line containing download percentage [duplicate]刷新包含下载百分比的输出行[重复]
【发布时间】:2011-11-24 19:32:40
【问题描述】:

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

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

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

我该怎么做? 谢谢。

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

【问题讨论】:

标签: python bash python-3.x


【解决方案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)
    

    【讨论】:

    • 这对我不起作用
    • @Patrick:需要在命令行控制台上运行。大多数 IDE 不支持它。
    • 在 xterm (rxvt) 中运行它。没用。
    • python-3 为我工作
    猜你喜欢
    • 2018-08-20
    • 1970-01-01
    • 1970-01-01
    • 2013-08-25
    • 1970-01-01
    • 2012-09-05
    • 2014-07-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多