是否可以通过使用较小的time.sleep()延迟重复更新同一行文本,在Python命令行中创建滚动文本?
我相信\ b(退格)字符可以有效地将光标向后移动到已经写入的文本上。我认为将它与Python 3中的end =“”参数相结合可能允许后续的打印命令更新先前的打印命令。通过仔细跟踪文本的长度以及插入退格和其他字符,应该可以创建静态的文本行,使其在适当的位置生动。
不幸的是,这一切都无效,甚至\ b字符似乎都无能为力:
word = input("Type something-> ")
print(word+"\b\b\bHello", end="")
print("New text")
有人有任何想法吗?
非常感谢, 千瓦
答案 0 :(得分:0)
也许您需要回车或\r
。这会将您带到该行的开头。当您将笔架移至开头并覆盖其中的内容时,其效果与物理打字机相同。
如果您使用此功能:
print("Hello", end=" ")
print("world")
输出将是:
Hello World
但是,如果您使用:
print("Hello", end="\r")
print("world")
输出将仅为:
world