LINUX.ORG.RU

Python3 управление выводом

 , ,


1

1

Всем привет!

А как сделать в питоне так, чтобы удалялись/обновлялись строки из терминала? print по умолчанию выводит с новой строки, а хочется, чтобы текущая строка перезаписывалась, как, например, в top/htop. Просто не хочется видеть колонку одинаковых или редко меняющихся цифр.

★★

Использовать escape-последовательности, если это действительно одна строка, либо воспользоваться ncurses, если что-то больше/сложнее.

Psych218 ★★★★★
()
Последнее исправление: Psych218 (всего исправлений: 2)
Ответ на: комментарий от I-Love-Microsoft

нет, не спас. Как принту сказать, чтобы не переводил 0x0D в число и не выводил с новой строки?

aido ★★
() автор топика
Ответ на: комментарий от Psych218

Я пробовал сишное решение print('\b\b \b'). Не помогло - каретку на строку вверх не переводит.

aido ★★
() автор топика
Ответ на: комментарий от aido

А как ты делаешь чтобы в Си не переводил в число? Правильно - пишешь это как \r - тут точно так же.

Кроме того, ты ведь используешь print, а он всегда добавляет \n по умолчанию. Делай тогда так: print(«my shit line 1\r», end="") ; print(«my shit line 2\r», end="")

т.е. укажи что строка у print заканчивается ничем

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

спасибо. по ходу сработало.

aido ★★
() автор топика
Ответ на: sys.stdout от kryonn

Удваиваю

sys.stdout.write('\r bla-bla-bla')
sys.stdout.flush()
vvn_black ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Логичнее \r добавлять в end=.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.