我是python的新手,我有一个程序女巫是命令行中显示百分比的王者:
sys.stdout.write("[")
for x in xrange(1,int(number)):
percentage = (x*100)/int(number)
numberfile.write(str(x)+'\n')
sys.stdout.write("\r%d%%" %percentage)
sys.stdout.flush()
sys.stdout.write("][Done]")
但我的问题是flush()函数,在它之前删除所有输出并且输出就是这样的:
100%] [完成]
我如何将其改为
[100%] [完成]
答案 0 :(得分:1)
问题不是同花顺而是" \ r"在
sys.stdout.write("\r%d%%" %percentage)
也许你想要
sys.stdout.write("\r[%d%%" %percentage)
答案 1 :(得分:0)
sys.stdout.write("\r%d%%" %percentage)
应该是
sys.stdout.write("\r[%d%%]" %percentage)
为了避免有趣的展示:
[伪代码]
for x in xrange(1,int(number)):
percentage = (x*100)/int(number)
numberfile.write(str(x)+'\n')
lastP = percentage
if (percentage > lastP)
sys.stdout.write("[%d%%]" %percentage);
sys.stdout.flush();
lastP = percentage