代码之家  ›  专栏  ›  技术社区  ›  kilojoules

在控制台上显示“更新文本”

  •  2
  • kilojoules  · 技术社区  · 9 年前

    有没有办法在python中创建进度条或更新命令行的百分比之类的东西?对于每次更新,最好使用一条新线。

    看起来像这样的东西 enter image description here

    for n in range(10):
        print n*10,'%'
    
    1 回复  |  直到 9 年前
        1
  •  1
  •   Paulo Amaral    5 年前

    正在打印 \r print end='' 作为参数。

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

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

    在字符串的末尾(后面 text 在示例中)。打印可变长度文本(如文件名或路径)时,可能会出现下一行更新比上一行更新短的情况,需要清除上一次迭代中多余的字符。

    推荐文章