如何在Python终端中打印彩色文本?

2 投票
2 回答
2003 浏览
提问于 2025-04-17 20:44

我知道这个问题在Stackoverflow上已经被提过,可以在这里找到

所以我试了joeld的回答中的代码。

这是我在IDLE中运行的代码(我使用的是Python 2.7):

print '\033[95m'+'my text'+'\033[95m'

但是我得到的输出没有颜色变化:

[95mmy text[95m

===============================================================================

然后我也试了colorama这个包。我是在cmd中安装的:

python setup.py install

接着我在Aptana Studio 3中尝试了以下代码:

from colorama import *

print (Fore.GREEN + 'Green text')
print (Fore.Red + 'Red text')

结果是这样的:

[32mGreen text
Traceback (most recent call last):
  File "C:\Users\My Documents\Aptana Studio 3 Workspace\Practice\test_colorama.py", line 12, in <module>
    print (Fore.Red + 'Red text')
AttributeError: 'AnsiCodes' object has no attribute 'Red'

===============================================================================

所以现在我真的很困惑。这些解决方案被很多人点赞,说明应该有效,但在我这里似乎不行。

请问我该如何在终端或控制台中打印彩色文本呢?

非常感谢。

2 个回答

1

IDLE 不是一个真正的命令行工具。你应该在普通的终端中进行这些操作,而不是在 IDLE 里。

3

这里没有Red

>>> import colorama
>>> colorama.Fore.Red
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'AnsiCodes' object has no attribute 'Red'

但是,RED是存在的:

>>> colorama.Fore.RED
'\x1b[31m'

撰写回答