我知道我可以使用print \b
替换单个字符或sys.stdout.write(\rSomething)
替换整行文字(例如this example),但有没有办法取代顶部使用Python在控制台窗口中排队,同时让文本继续在下面打印?
例如:
[---- ] <-- a progress bar that updates at the top...
Ongoing info <-- while other stuff prints down below
foo
More ongoing info
答案 0 :(得分:1)
使用字符会更复杂,因为您需要对终端进行更强大的控制。
这可能需要求助:
如果您真的想要努力并使用RAW控制,那么您必须了解ANSI控制代码(众所周知的转义序列)。然而 - 你已被警告 - 这种方式不可移植,因为不同的终端类型实际上使用稍微不同的序列来控制在终端中显示的内容和方式,并且某些终端不支持某些代码和然后某些操作以不同的方式处理。使用 curses 为您解决这些问题。