小编Nic*_*las的帖子

Python:字典值中的八进制转义字符\ 033将print语句转换为UTF-8字符

我一直在终端和Python 2.7.3中尝试一些颜色输出.ANSI颜色代码总是在终端中完美呈现,有一个小例外,我无法确定任何精确程序,而不是这个特定的字典定义.

这是导致混淆的原因:

color = {
    'white':    "\033[1,37m",
    'yellow':   "\033[1,33m",
    'green':    "\033[1,32m",
    'blue':     "\033[1,34m",
    'cyan':     "\033[1,36m",
    'red':      "\033[1,31m",
    'magenta':  "\033[1,35m",
    'black':    "\033[1,30m",
    'darkwhite':  "\033[0,37m",
    'darkyellow': "\033[0,33m",
    'darkgreen':  "\033[0,32m",
    'darkblue':   "\033[0,34m",
    'darkcyan':   "\033[0,36m",
    'darkred':    "\033[0,31m",
    'darkmagenta':"\033[0,35m",
    'darkblack':  "\033[0,30m",
    'off':        "\033[0,0m"
}

yellow = "\033[1;33m"
off = "\033[0;0m"

print color['yellow'] + "string to render" + color['off']     # fails to render properly
print "%(yellow)sstring to render%(off)s" % color             # ditto
print "%sstring to render%s" % (color['yellow'], color['off'])# ditto

print yellow + …
Run Code Online (Sandbox Code Playgroud)

python terminal dictionary escaping

9
推荐指数
1
解决办法
9296
查看次数

标签 统计

dictionary ×1

escaping ×1

python ×1

terminal ×1