我用#RRGGBB十六进制格式(#D3D3D3
为浅灰色)的用户使用了颜色,我想用它为一些输出着色。我想我写print("some text", color="#0000FF")
并获得蓝色输出。是否可以(理想情况下没有第三方软件)?
答案 0 :(得分:2)
您可以在真彩色终端上使用以下转义序列:
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)
您可以使用例如▀
以及背景和前景色来获得加倍的水平或垂直分辨率。