我在 Windows 10 计算机上通过命令提示符使用简单的 python (3.9.2) 解释器。
我正在尝试从 python 解释器获取彩色输出文本。我知道如何获得彩色输出,但是我正在寻找允许 RGB 指定输入的东西,以便我可以输出不同的颜色强度。
我发现一个线程这里有这样一个例子(您可能需要向下滚动才能看到指定 RGB 输入的代码行)。
所以..我尝试了这部分: (我还必须为任何转义序列导入 colorama 以显示实际颜色)
from sty import fg, bg, ef, rs
foo = fg.red + 'This is red text!' + fg.rs
qui = fg(255, 10, 10) + 'This is red text using 24bit colors.' + fg.rs
# Add custom colors:
from sty import Style, RgbFg
fg.orange = Style(RgbFg(255, 150, 50))
buf = fg.orange + 'Yay, Im orange.' + fg.rs
print(foo, bar, baz, qux, qui, buf, sep='\n')
fg.red
工作正常,但 RGB 指定线未产生正确的颜色。也没有强度。还有什么其他建议可以让我在 Windows 机器上工作吗?
您可以找到几个可以解决您问题的好软件包。坦白说,我是 Python Colorist 包的作者。 Colorist 轻量级、简洁,并且支持开箱即用的 RGB 颜色。只需使用
pip install colorist
安装软件包并输入:
from colorist import ColorRGB, BgColorRGB
dusty_pink = ColorRGB(194, 145, 164)
bg_steel_blue = BgColorRGB(70, 130, 180)
print(f"I want to use {dusty_pink}dusty pink{dusty_pink.OFF} and {bg_steel_blue}steel blue{bg_steel_blue.OFF} colors inside this paragraph")
如果您更喜欢在 HSL 中定义颜色,也可以,因为 Colorist 会将其转换为 RGB:
from colorist import ColorHSL, BgColorHSL
mustard_green = ColorHSL(60, 56, 43)
bg_steel_gray = BgColorHSL(190, 2, 49)
print(f"I want to use {mustard_green}mustard green{mustard_green.OFF} and {bg_steel_gray}steel blue{bg_steel_gray.OFF} colors inside this paragraph")
或者类似地,您也可以用十六进制定义颜色:
from colorist import ColorHex, BgColorHex
watermelon_red = ColorHex("#ff5733")
bg_mint_green = BgColorHex("#99ff99")
print(f"I want to use {watermelon_red}watermelon pink{watermelon_red.OFF} and {bg_mint_green}mint green{bg_mint_green.OFF} colors inside this paragraph")
请注意,并非所有终端都支持高级 RGB 颜色,因为它们不是初始 ANSI 规范的一部分。您可能想尝试各种终端来找到适合您的终端。