向上移动控制台光标

Move console cursor up

我尝试在控制台的左上角创建一个简单的时钟,每秒更新一次:

def clock():
    threading.Timer(1.0, clock).start()
    print('3[0;0H' + time.asctime(time.localtime()))

我已经使用 colorama 程序包在 Windows 中启用 ANSI 转义序列,但似乎转义代码只会将光标移动指定的像素数,而不是移动到位置.


如何将光标移动到(0, 0)位置?

行和列从 1 而不是 0 开始。

print('3[1;1H' + time.asctime(time.localtime()))

或更短

print('3[H' + time.asctime(time.localtime()))

您可能还需要使用 ESC-7 和 ESC-8 保存和恢复位置。

有关代码列表,请参阅 http://ascii-table.com/ansi-escape-sequences-vt-100.php

巴里