Большинство терминалов понимают escape-коды ANSI . Код для перехода к началу предыдущей строки - "\033[F"
.
Нет, не очень легко, для этого вам нужно будет использовать что-то вроде curses library , особенно если вы хотите иметь больше контроля над размещением курсора и делать больше программно.
Вот ссылка на документы Python на Программирование с помощью Curses , и этот короткий учебник / пример также может представлять интерес.
I просто нашел это примечание в docs в случае, если вы используете Windows:
Никто не сделал порт Windows модуля curses. На платформе Windows попробуйте модуль консоли, написанный Fredrik Lundh. Консольный модуль обеспечивает вывод текста с курсором, а также полную поддержку ввода мыши и клавиатуры и доступен из http://effbot.org/zone/console-index.htm .
blockquote>Я считаю, что для C ++ существует библиотека NCurses , на связанной странице есть раздел , перемещающий курсор , если вы хотите сориентироваться с C ++. Кроме того, есть программирование NCurses HowTo .
Длительное время Я использовал библиотеку curses с C довольно успешно.
Обновление:
Я пропустил часть про запуск этого на терминале / последовательно, поскольку для этой последовательности escape-последовательности ANSI, особенно для простой задачи, такой как ваша, будет проще, и я согласен с решением @SvenMarnach для этого.
Возможно, я ошибаюсь, но:
#include <windows.h>
void gotoxy ( int column, int line )
{
COORD coord;
coord.X = column;
coord.Y = line;
SetConsoleCursorPosition(
GetStdHandle( STD_OUTPUT_HANDLE ),
coord
);
}
в стандартной консоли Windows.
for i in range(10):
print("Loading" + "." * i)
doSomeTimeConsumingProcessing()
sys.stdout.write("\033[F") # Cursor up one lin
Попробуйте это на Python и замените doSomeTimeConsumingProcessing () на любую необходимую процедуру и надейтесь, что это поможет