如何使用python诅咒为特定字符串添加颜色?

如何使用python诅咒为特定字符串添加颜色?,python,ncurses,curses,Python,Ncurses,Curses,例如,我有一个字符串“color selected is red”如何仅使单词“red”为红色 这就是我用来实现这一目标的方法 import curses curses.start_color() curses.init_pair(1, curses.COLOR_RED, curses.COLOR_BLACK) win = curses.newwin(5 + window_height, window_width, 2, 4) win.addstr(position + 2, 5, "Col

例如,我有一个字符串
“color selected is red”
如何仅使单词“red”为红色

这就是我用来实现这一目标的方法

import curses

curses.start_color()
curses.init_pair(1, curses.COLOR_RED, curses.COLOR_BLACK)
win = curses.newwin(5 + window_height, window_width, 2, 4)

win.addstr(position + 2, 5, "Colour selected is " + "Red", curses.color_pair(1))
这是一个更大项目的一部分,因此可能会丢失一些信息。但它不起作用。

这是有效的:

import curses

curses.initscr();

window_height = curses.LINES - 2
window_width = curses.COLS - 2
position = 3

curses.start_color()
curses.init_pair(1, curses.COLOR_RED, curses.COLOR_BLACK)
win = curses.newwin(5 + window_height, window_width, 2, 4)

win.addstr(position + 2, 5, "Colour selected is " + "Red", curses.color_pair(1))

win.getch()
如果您将问题简化为一个简单、完整的程序,您可能会在原始程序中看到问题

注释后续:在curses中,
addstr
函数将属性(包括颜色)应用于整个字符串参数。如果希望字符串的不同部分具有不同的属性,则必须分别调用
addstr
,每个属性对应一个应用于原始字符串部分的调用。大概是这样的:

win.addstr(position + 2, 5, "Colour selected is ")
win.addstr("Red", curses.color_pair(1))

你试过什么代码?你能给我们一个摘录吗?好的snippet addedI尝试使用termcolor python库将颜色更改为红色,但结果如下:
^[[31mred^[[0m
这是预期的行为:addstr有3个可选参数(位置对和属性)。该属性适用于字符串参数。如果需要2个字符串,则必须调用2个addstr。