替换Python 2.7中的打印语句
如何替换Python 2.7中的打印语句,例如:替换Python 2.7中的打印语句,python,python-2.7,Python,Python 2.7,如何替换Python 2.7中的打印语句,例如: for i in range(100): print i,"% Completed" #Result Must Be: >>> 1 % Completed 必须用2替换1,以此类推。但不能在不同的行中或在同一行中追加 我试着搜索了一下,找到了如下解决方案 from __future__ import print_function print("i: "+str(i),end="\r") 但它们会产生附加的打印语句
for i in range(100):
print i,"% Completed"
#Result Must Be:
>>> 1 % Completed
必须用2替换1,以此类推。但不能在不同的行中或在同一行中追加
我试着搜索了一下,找到了如下解决方案
from __future__ import print_function
print("i: "+str(i),end="\r")
但它们会产生附加的打印语句。我的print\u功能中是否有任何更正
或是否有其他解决方案?给您:
from __future__ import print_function
for i in range(100):
print('{0}% Completed\r'.format(i), end='')
print('100% Completed')
如果您真的想让它工作几秒钟,请设置一个更高的范围。您想这样做吗:
>>> import sys, time
>>> for i in range(100):
... time.sleep(0.1)
... sys.stdout.write('%d %% Completed \r' % (i,))
... sys.stdout.flush()
不知道你想要什么结果。你想让每一条语句都以单行的形式在循环中打印吗?我想让打印的语句被新语句替换,而不是在新行或附加语句中。例如,
1%完成
必须变成2%完成
,但不是1%完成2%完成
你不能用(I+1)替换I
在打印语句中?@TomKarzes我不想要多行打印行或语句,我想要替换输出。对不起,我想要替换输出,而不是附加。@craziesshacker我的代码确实替换了输出,你在说什么?所以,你的回答与此无关,因为我的问题清楚地说明了替换输出语句,但不要附加它。@craziesshacker输出被替换,而不是附加。你做错了。很抱歉,我想替换输出,而不是附加输出。@CraziestHacker你运行了这个吗?是的,正如你发布的那样it@CraziestHacker我没有看到它附加到我的shell上以前的输出中。你错过了字符串末尾的\r
了吗?@CraziestHacker:m我想你是在IDE中运行代码,而不是在shell终端中运行代码?