在DOS下打印python的进度计数器

时间:2013-05-07 15:01:26

标签: python python-2.7 python-3.x

enter image description here

test_count = 0

while test_count <= 100:
    print test_count
    test_count +=1

目前这个计数器正在下一行打印,但我正在寻找在“0”上覆盖它的方法。

3 个答案:

答案 0 :(得分:6)

\r回车符与sys.stdout.flush一起使用。

import sys
import time  # for invoking time.sleep(n_seconds) inside loop

counter = 0
while counter <= 100:
    time.sleep(1)
    counter += 1
    sys.stdout.write("\rTesting (%ss elapsed)" % counter)
    sys.stdout.flush()

答案 1 :(得分:1)

使用\r并在print语句末尾添加,,以便不会自动编写换行符,如下面的代码所示。

另外,请参阅python-progressbar库以获取进度条的一些不错的文本实现。

import time # Added to demonstrate effect

test_count = 0

while test_count <= 100:
    print "\r%3d" % test_count,
    time.sleep(0.1)
    test_count +=1

答案 2 :(得分:1)

您应该包含以下声明: 首先在文件开头导入'os'模块:

import os

然后在循环结束时添加:

os.system('cls')

希望,这对你有所帮助:)。