用Python 2.7替换打印的语句

时间:2015-12-17 15:51:37

标签: python python-2.7

如何在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中是否有任何更正,或者有不同的解决方案吗?

2 个答案:

答案 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')

如果您确实希望看到它工作几秒钟,请设置更高的范围。