我试图制作一个显示进度金额的百分比文字,但我试图避免像这样打印出百分比:
Progress: 10%
Progress: 11%
Progress: 12%
Progress: 13%
如何擦除和写入当前行?我试过使用\ r和\ b字符,但似乎都不起作用。我之前发现的每件事都是针对Python 2或Unix的,所以我甚至不确定哪个是问题(如果是其中之一),因为我没有使用它们。有谁知道我如何使用运行Windows 7的Python 3做到这一点?这是我目前的非工作代码,但我已经尝试了很多其他的东西。
print('Progress: {}%'.format(solutions//possibleSolutions),flush=True,end="\r")
编辑:
如果我从命令提示符执行程序,这不是问题所以我不认为这是Windows的问题。我尝试将Python从之前使用的(3.4.1)更新到最新的v3.4.3,问题是相同的。
下面是问题的截图: 这是拍摄问题截图时我能做的最好的事情。看起来好像每次我将光标向左移动(通过其中一个进度:' s),文本和光标之间的灰色区域变大了
答案 0 :(得分:1)
您可以使用print:
print('Progress: {}%'.format(solutions),flush=True,end="\r")
答案 1 :(得分:-1)
您可以像这样创建一个名为Printer
的新类:
class Printer():
def __init__(self, data):
sys.stdout.write("\r\x1b[K"+data.__str__())
sys.stdout.flush()
然后,假设您要打印for
循环的进度:
for i in range(0, 100):
p = i * 100
output = "%d%% of the for loop completed" % p
Printer(output)