在python中打印相同的行

时间:2015-08-24 07:43:08

标签: python printing stdout

我想做这样的事情。

calculating 50%
calculating 60%
calculating 70%

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

2 个答案:

答案 0 :(得分:1)

您可以这样做:

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

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

import sys
sys.stdout.flush()

答案 1 :(得分:0)

这取决于你是想覆盖以前的东西还是真的在一行上写下所有三个语句。

可以做后者
import sys
sys.stdout.write("calculating 50%")
sys.stdout.write("calculating 60%")
sys.stdout.write("calculating 70%")

前者可能是通过终端转义序列实现的,对于不同的操作系统会有所不同。