还有什么其他特殊字符如“\ r”可以用来美化Python中的输出?

时间:2013-07-28 21:33:19

标签: python formatting special-characters

我刚刚了解了'\ 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/

2 个答案:

答案 0 :(得分:1)

在Windows上,您需要在使用特殊字符之前设置终端模式。 最近我看到了一个用于着色输出的跨平台模块。

https://pypi.python.org/pypi/colorama

有移动光标的特殊字符。

此外,您可以使用ncurces来制作文本GUI。

答案 1 :(得分:1)

只要您的控制台支持ANSI转义序列,您就可以使用它们。

在你的控制台上试试这个:

print ('\x1b[31;1mThis is red')

如果它以粗体红色显示文本,则控制台支持CSI,您可以对光标执行许多操作。

Cf here