【问题标题】:How to colorize text in terminal如何在终端中为文本着色
【发布时间】:2016-12-04 10:00:05
【问题描述】:

需要在终端打印彩色块。我是这样写的:

from termcolor import colored
...
print(colored('\u2588\u2588\', '#%s' %(color)))

color 是十六进制颜色,似乎termcolor 不能使用十六进制
也试过模块colored:

import colored
...
color_t = fg('#'+color)

但 Python 会引发 KeyError: '#4e1747'(颜色随机)
怎么了?

【问题讨论】:

标签: python python-3.x terminal


【解决方案1】:

看看Colorama 包,它提供了终端输出的跨平台着色,非常好用。

【讨论】:

    【解决方案2】:

    这将以亮绿色打印十六进制字符串。 这是一个有趣的颜色 ANSI 转义 "\033["

    import sys
    print("\033[1;32;40m '\u2588\u2588\\' \n")
    

    好消息来源: http://www.jwrr.com/content/Console-Escape-Sequences/ http://ozzmaker.com/add-colour-to-text-in-python/

    【讨论】:

    • 问题是我的颜色未知
    【解决方案3】:

    好的,我找到答案了

    message = 'some string'
    hex_color = '#4e1747'
    r, g, b = [int(hex_color[i:i+2], 16) for i in range(1, len(hex_color), 2)]
    print("\x1b[38;2;{r};{g};{b}m{message}\x1b)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-07
      • 2021-11-19
      • 1970-01-01
      相关资源
      最近更新 更多