请问Python的termcolor模块呢?对于某些用途,这将是大致等效的。
from termcolor import coloredprint colored('hello', 'red'), colored('world', 'green')import sysfrom termcolor import colored, cprinttext = colored('Hello, World!', 'red', attrs=['reverse', 'blink'])print(text)cprint('Hello, World!', 'green', 'on_red')一个特殊的要求是设置颜色,并可能设置其他终端属性,以便随后的所有打印都是这样。 虽然我在原始帖子中说过此模块可以实现这一点,但现在我不这么认为。
请参阅最后一节,了解执行此操作的方法。
但是,大多数情况下,我们以彩色(一两行)打印短段文本。因此,这些示例中的界面可能比“打开”颜色,打印然后关闭它更好。(就像所示的Perl示例一样。)在语言方面,您可以向打印函数添加可选参数以对输出进行着色,并且可以在函数中使用模块的函数对文本进行着色。这也使解决格式和着色之间的偶然冲突变得更加容易。只是一个想法。
这是设置终端的基本方法,以便使用给定的颜色,属性或模式渲染所有后续打印。
将适当的ANSI序列发送到终端后,所有后续文本都将以这种方式呈现。因此,如果我们希望将来打印到此终端的所有文本均为亮红色/粗体红色,请打印,
ESC[然后打印“
bright”属性(1)和红色(31)的代码,然后是
m
# print " 33[1;31m" # this would emit a new line as wellimport syssys.stdout.write(" 33[1;31m")print "All following prints will be red ..."要关闭任何先前设置的属性,请对属性


