我有一个非常简单的python 2.7文件,其中包含以下代码(当在终端中运行时)输出两个字符串打印的ANSI颜色代码 .
# coding=utf8
class bcolors:
HEADER = '\033[95m'
OKBLUE = '\033[94m'
OKGREEN = '\033[92m'
WARNING = '\033[93m'
FAIL = '\033[91m'
ENDC = '\033[0m'
print "\033[95mWorks fine\033[0m"
print '\033[95mWorks fine\033[0m'
print bcolors.OKBLUE, "Fails to work", bcolors.ENDC
为什么第三个打印声明无法在终端中产生任何颜色?关于使用utf8文件,我应该知道些什么吗?
系统:ubuntu 16.04
2 回答
Single -quotes和 double -quotes在大多数其他语言中是不同的 . 不是python . 下面是截图显示脚本应该有效(也许OP已经应用了一些调色板,如曝光,这让人感到困惑 - 可以在模仿xterm的终端上重新分配任何这些颜色):
这是xterm的所谓颜色立方体(您可能已经看过):
和(一些终端模拟器迟到了),任何实现xterm控制序列的东西都可以重新编程,就像使用反色一样:
这是一个有效的例子: