Для некоторых приложений, которые печатают выходные данные в той же строке (возврат каретки), такие как wget
или что-либо, что имеет индикатор выполнения, перезаписывающий предыдущий прогресс, когда я изменяю размер окна терминала или изменяю положение на экране, вывод начинается печатать на новой строке каждую секунду и непрерывно прокручивать, пока процесс не завершится на 100% или индикатор выполнения не достигнет 100%.
Например:
Epoch 0 [Train | | 1/20000 batches, 1.86 co
Epoch 0 [Train | | 2/20000 batches, 4.65 co
Epoch 0 [Train | | 3/20000 batches, 3.10 co
Epoch 0 [Train | | 4/20000 batches, 5.32 co
Что мне нужно, так это переопределенный ввод:
Epoch 0 [Train | | 4/20000 batches, 5.32 co
Если я не изменяю размер, вывод перезаписывает текущую строку и не прокручивается вниз. Я хотел бы иметь возможность изменить размер моего терминала, сохраняя такой вывод в той же строке (как это было задумано).
Эта проблема отсутствует при работе wget
непосредственно на терминале, но, насколько я помню, при вызове его через программу на C или Python, повторная прокрутка вызовет это, и вывод будет непрерывно печататься на новом линия.
Это проблематично, когда я хочу сохранить некоторые предыдущие результаты видимыми на экране, например, в целях презентации. Я попытался изменить размеры моего терминала и установить его перед запуском моего скрипта Python, и проблема все еще возникает.
Есть ли способ предотвратить это?