在Python Shell中如何改变文本颜色?

5

我知道可以使用os模块的os.system("color")函数实现,但这会改变整个终端,我想要的是只针对单个字符串或变量输出的本地化功能。最好使用标准库,因为我想在多台计算机上使用而不必使用py2exe或freeze。

2个回答

6
请看以下问题的回答: 如果您无法安装额外的模块,您可以尝试直接使用ANSI序列。请注意,该方法不可移植,并且最好使用一些特殊的模块来实现此功能。
print " "+ "\033[01;41m" + " " +"\033[01;46m" + " " + "\033[01;42m"

当你需要更强大的功能时,我建议你使用colorama(pypi.python.org/pypi/colorama):

from colorama import Fore, Back, Style
print(Fore.RED + 'some red text')
print(Back.GREEN + 'and with a green background')
print(Style.DIM + 'and in dim text')
print(Style.RESET_ALL)
print('back to normal now')

另一个选项是使用termcolor

from termcolor import colored
print colored('hello', 'red'), colored('world', 'green')

以上代码打印出了 ←[01;41m ←[01;46m ←[01;42m,我听说不是所有系统都支持ASCII转义字符,但我已经在Windows 7和XP上尝试过了,都没有成功。有什么建议吗? - RandomPhobia

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接