【问题标题】:Color Python output given #RRGGBB hex value给定 #RRGGBB 十六进制值的颜色 Python 输出
【发布时间】:2017-08-20 13:41:04
【问题描述】:

我从用户那里得到了一种#RRGGBB 十六进制格式的颜色(#D3D3D3 是浅灰色),我想用它为一些输出着色。我想我写print("some text", color="#0000FF") 并得到蓝色输出。有可能吗(最好没有第三方软件)?

【问题讨论】:

标签: python python-3.x output


【解决方案1】:

您可以在真彩色感知终端上使用以下转义序列

  • ESC[ … 38;2;<r>;<g>;<b> … m选择RGB前景色
  • ESC[ … 48;2;<r>;<g>;<b> … m选择RGB背景色

这样你就可以写一个函数了:

RESET = '\033[0m'
def get_color_escape(r, g, b, background=False):
    return '\033[{};2;{};{};{}m'.format(48 if background else 38, r, g, b)

并像这样使用:

print(get_color_escape(255, 128, 0) 
      + get_color_escape(80, 30, 60, True)
      + 'Fancy colors!' 
      + RESET)

您可以通过使用例如 以及背景和前景色来获得双倍的水平或垂直分辨率。

【讨论】:

  • 不适合我,但看起来我没有 真彩色感知终端 (LXTerminal)。将在其他地方尝试,然后可能会接受答案。顺便提一句。这是对您的终端的良好测试:askubuntu.com/a/790991
猜你喜欢
  • 1970-01-01
  • 2011-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-18
  • 2014-07-03
  • 2019-06-16
  • 2021-03-08
相关资源
最近更新 更多