Я пытаюсь распечатать отчет для каждой итерации.Поскольку каждая итерация выполняется очень долго, поэтому я использую print
вместе с end="\r"
, чтобы показать текущий обрабатываемый элемент.Вот фиктивный код:
import time
y = list(range(50))
print("epoch\ttrain loss\ttest loss\ttrain avg\ttest avg\ttime\tutime")
for e in range(10):
for i in range(50):
print("training {}/{} batches".format(i,50), end = '\r')
time.sleep(0.05)
print('{}\t{:2f}\t{:2f}\t{:2f}\t{:2f}\t{:2.1f}\t{:2.1f}'.format(y[0]+e,y[1]+e,y[2]+e,y[3]+e,y[4]+e,y[5]+e,y[6]+e))
Ожидаемый результат
Это мой ожидаемый результат, когда информация о ходе выполнения полностью стирается после каждой итерации.(Я запускаю его в ноутбуке Jupyter, и он выглядит нормально)
Результат, который я получаю
Однако, когда я запускаю его на терминале Linuxинформация о прогрессе удаляется не полностью, а результат накладывается поверх прогресса.
Почему это так?Как это решить?