Python 3:为什么在我的情况下print(...,end ="",flush = True)不能用于输出覆盖?

时间:2018-05-30 21:08:48

标签: python python-3.x shell terminal stdout

我尝试使用print更新同一行或同一行的百分比,而不是一遍又一遍地打印。

我已经在一行上找到了一些刷新输出的方法,但是对于多行没有一种方法。

以下是我的代码,但他们没有按预期工作,有人可以帮助我吗?

# refresh in one line
for i in range(10):
    print("Task A complete %d, Task B complete %d \n" % (i, i), end=" ", flush=True)

# refresh in two line
for j in range(10):
    print("Task A complete %d \n" % j,  end=" ", flush=True)
    print("Task B complete %d \n" % j,  end=" ", flush=True)

提前谢谢大家

更新:

代码

# refresh on one line
for i in range(1000000000):
    print("Task A complete %d" %i, "Task B complete %d" %i, end='\r', flush=True)

输出如下:

Task A complete 994      Task B complete 993

但是我如何在两行中打破这一行:

 Task A complete 994      
 Task B complete 993

0 个答案:

没有答案