0

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

4

2 回答 2

1

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

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

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

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

参照这里

于 2013-07-28T21:43:38.793 回答
1

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

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

有特殊的字符来移动光标。

您也可以使用 ncurces 来制作文本 GUI。

于 2013-07-28T21:37:32.183 回答