如何在Python 2.7中替换打印的语句,例如:
for i in range(100):
print i,"% Completed"
#Result Must Be:
>>> 1 % Completed
1必须替换 2,依此类推。但不是在不同的行或附加在同一行。
我尝试搜索它,找到了解决方案,如
from __future__ import print_function
print("i: "+str(i),end="\r")
但是它们会产生附加的印刷语句。我的print_function
中是否有任何更正,或者有不同的解决方案吗?
答案 0 :(得分:4)
你想要这样的东西:
>>> import sys, time
>>> for i in range(100):
... time.sleep(0.1)
... sys.stdout.write('%d %% Completed \r' % (i,))
... sys.stdout.flush()
答案 1 :(得分:2)
你走了:
from __future__ import print_function
for i in range(100):
print('{0}% Completed\r'.format(i), end='')
print('100% Completed')
如果您确实希望看到它工作几秒钟,请设置更高的范围。