在Python命令行中滚动文本

时间:2018-05-20 11:32:50

标签: python

是否可以通过使用较小的time.sleep()延迟重复更新同一行文本,在Python命令行中创建滚动文本?

我相信\ b(退格)字符可以有效地将光标向后移动到已经写入的文本上。我认为将它与Python 3中的end =“”参数相结合可能允许后续的打印命令更新先前的打印命令。通过仔细跟踪文本的长度以及插入退格和其他字符,应该可以创建静态的文本行,使其在适当的位置生动。

不幸的是,这一切都无效,甚至\ b字符似乎都无能为力:

word = input("Type something-> ")
print(word+"\b\b\bHello", end="")
print("New text")

有人有任何想法吗?

非常感谢, 千瓦

1 个答案:

答案 0 :(得分:0)

也许您需要回车或\r。这会将您带到该行的开头。当您将笔架移至开头并覆盖其中的内容时,其效果与物理打字机相同。

如果您使用此功能:

print("Hello", end=" ")
print("world")

输出将是:

Hello World

但是,如果您使用:

print("Hello", end="\r")
print("world")

输出将仅为:

world