我刚刚了解了'\ r'以及更新一行文字的能力,例如:
"40% complete"
...
"50% complete"
随着时间的推移内联。
太激动了。有没有其他方法可以在输出周围移动光标(特别是在Windows上适用于Python 3)?如果我的动态状态跨越多行,例如:
,该怎么办?==========STATUS============
Task 1..........40% complete
Task 2...........7% complete
Task 3.........100% complete
============================
(其中%完成每个任务的变化独立于其他任务。)
是否有像\ r一样的特殊字符向上或向下移动一行,或向左或向右移动光标?
(对不起,如果有这样的指南,搜索“\ r”不是很有帮助,我发现的特殊字符列表并不完全包括我要找的内容。)
感谢您的帮助!
参考文献:
GNU特殊字符:http://crasseux.com/books/ctutorial/Special-characters.html#Special%20characters
漂亮的python输出(仅限linux?):http://www.darkcoding.net/software/pretty-command-line-console-output-on-unix-in-python-and-go-lang/
答案 0 :(得分:1)
在Windows上,您需要在使用特殊字符之前设置终端模式。 最近我看到了一个用于着色输出的跨平台模块。
https://pypi.python.org/pypi/colorama
有移动光标的特殊字符。
此外,您可以使用ncurces来制作文本GUI。
答案 1 :(得分:1)
只要您的控制台支持ANSI转义序列,您就可以使用它们。
在你的控制台上试试这个:
print ('\x1b[31;1mThis is red')
如果它以粗体红色显示文本,则控制台支持CSI,您可以对光标执行许多操作。
Cf here。