“\ r”将保留上一行

时间:2016-10-31 02:04:15

标签: python python-2.7 carriage-return

示例:

sys.stdout.write("\raaaa")
sys.stdout.flush()
sys.stdout.write("\rbb")
sys.stdout.flush()
# output: bbaa

所以\r返回到在新字符串范围内覆盖字符的行的开头,是否有任何解决此问题的方法而不使用空格来覆盖其余字符?< / p>

ANSI转义序列也不起作用。

1 个答案:

答案 0 :(得分:0)

import sys

_lastlen = 0
def overwrite(s):
    global _lastlen
    sys.stdout.write("\r" + s + " "*(_lastlen - len(s)))
    sys.stdout.flush()
    _lastlen = len(s)

overwrite("aaaa")
overwrite("bb")