Python 3: почему в моем случае print (..., end = "" , flush = True) не работает для перезаписи вывода? - PullRequest
0 голосов
/ 31 мая 2018

Я пытался обновить проценты в одной и той же строке или в одной и той же строке, используя print, а не печатать снова и снова.

Я уже нашел несколько подходов для сброса вывода в одной строке ,но никто не для multitilines.

Ниже мой код, но они не работают, как ожидалось, кто-то может мне помочь?

# 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
...