2015-08-24 57 views
-1

我想要做这样的事情。python中的同一行打印

calculating 50% 
calculating 60% 
calculating 70% 

但在一行。 做了几个小时的谷歌搜索,找不到任何东西。 :)

+0

已经有很多答案了。 – dsgdfg

+1

完全没有任何这样的问题在SO http://stackoverflow.com/questions/6169217/replace-console-output-in-python http://stackoverflow.com/questions/4897359/output-to -the-same-line-overwriting-previous-output-python-2-5 – piezol

回答

0

这取决于您是要覆盖以前的事情还是要真正将所有三个语句写在一行上。 您可以通过

import sys 
sys.stdout.write("calculating 50%") 
sys.stdout.write("calculating 60%") 
sys.stdout.write("calculating 70%") 

前者做后者将通过终端来逃避可能实现的序列中的将是不同的操作系统不同。

1

你可以做这样的事情:

print '50%%', 
print '\r60%%', 
print '\r70%%', 

逗号确保没有换行。 \r清除当前行,以便删除先前的50%,并用60%覆盖。但是,由于打印不刷新(就像没有逗号一样),可能会发生打印不出行的情况。为此,您需要使用以下命令刷新输出:

import sys 
sys.stdout.flush() 
+0

哎呦,谢谢! – Mathias711