在 python 中使用 curses,您可以轻松地使用终端的默认配色方案:
curses.use_default_colors()
然而,一旦您尝试为任何字符重新着色,您必须使用颜色对声明背景颜色:
curses.init_pair(1, curses.COLOR_RED, curses.COLOR_BLACK)
我真的不想更改默认背景,但我想更改前景。
有没有办法获得默认背景颜色?还是只改变前景色?
我知道我可以使用 ANSI 转义码来调整前景色,但是 ANSI 代码与 curses 不兼容,我宁愿使用 curses 而不是用 ANSI 代码重写所有内容。
最佳答案
好吧,我明白了,
如果您使用 -1
作为值调用 init_pair
,它将填充终端默认值。例如,使用默认背景制作红色文本:
curses.init_pair(1, curses.COLOR_RED, -1)
现在 curses.color_pair(1)
将被设置为背景。如果您在程序运行时更改终端的默认值,这甚至会起作用。
您必须先调用 curses.use_default_colors()
才能使用它。
关于python - 是否可以在 python 中使用 curses 获取默认背景颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44014715/