#python #console #ansi-escape
#python #консоль #ansi-escape
Вопрос:
Я попытался создать простые часы в верхнем левом углу консоли, обновляя каждую секунду:
def clock():
threading.Timer(1.0, clock).start()
print('33[0;0H' time.asctime(time.localtime()))
Я использовал colorama
пакет для включения escape-последовательностей ANSI в Windows, но, похоже, escape-код просто переместит курсор на указанное количество пикселей, а не на позицию.
Как я могу переместить курсор в нужную позицию (0, 0)
?
Ответ №1:
Строка и столбец начинаются с 1, а не с 0.
print('33[1;1H' time.asctime(time.localtime()))
или короче
print('33[H' time.asctime(time.localtime()))
Вам также может потребоваться сохранить и восстановить позицию с помощью ESC-7 и ESC-8.
См. http://ascii-table.com/ansi-escape-sequences-vt-100.php для получения списка кодов.
Барри