在终端的最后一行打印

时间:2014-10-16 00:41:19

标签: python terminal

在Linux终端中使用wget时,终端中打印的最后一行将在下载过程中被覆盖,以反映进度。

我可以用Python覆盖终端的最后一行吗? (仅针对Linux)

2 个答案:

答案 0 :(得分:2)

您可以使用转义序列。

您可能熟悉" \ n"换新线。 还有" \ b"退格和" \ r"回程。

import time
for i in range(10):
    sys.stdout.write("\r{}".format(i))
    sys.stdout.flush()
    time.sleep(1)

答案 1 :(得分:1)

您可以使用blessings module在Linux上的终端的最后一行写入:

from blessings import Terminal # $ pip install blessings

t = Terminal()
with t.location(0, t.height - 1):
    print('This is at the bottom.')