【问题标题】:display "updating text" on console在控制台上显示“更新文本”
【发布时间】:2016-07-22 01:40:43
【问题描述】:

有没有办法在 python 中创建进度条或更新命令行百分比之类的东西?每次更新都换一个新行要好得多。

看起来像这样的东西

for n in range(10):
    print n*10,'%'

【问题讨论】:

标签: python bash console


【解决方案1】:

打印\r 字符(回车)会将光标移动到行首,然后您可以从那里重新编写它。您还需要通过提供end='' 作为参数来防止print 函数添加换行符。

为了阐明如何使用它,下面的示例每秒递增一个进度计数器,每秒重写该行:

import time

a = 0
while 1:
  text = "progress: " + str(a) + "%"
  print ("\r" + text + "        ", end='')
  time.sleep (1)
  a = a + 1

您将需要在字符串末尾有少量空格(在示例中位于text 之后)。当您打印可变长度文本(如文件名或路径)时,您可能会遇到下一行更新比上一行短的情况,您需要清除前一次迭代中多余的字符。

【讨论】:

    猜你喜欢
    • 2012-01-06
    • 2016-05-25
    • 1970-01-01
    • 1970-01-01
    • 2018-07-13
    • 1970-01-01
    • 1970-01-01
    • 2018-02-25
    • 2016-02-19
    相关资源
    最近更新 更多