如何在Python curses中获得更多颜色?

时间:2012-10-25 01:00:01

标签: python terminal ncurses

我正在为学校做一个项目,我正在使用诅咒。虽然,我对颜色的限制有点失望。 colorama模块有很多颜色,它们在我的终端上工作,所以我知道我的终端能够有很多颜色。虽然,在Curses中,我们只有

COLOR_BLACK
COLOR_RED
COLOR_GREEN
COLOR_YELLOW
COLOR_BLUE
COLOR_MAGENTA
COLOR_CYAN
COLOR_WHITE

如果有更多颜色,那将是非常好的。

注意:Colorama提供ANSI转义码,不适用于Curses,因此没有捷径。

4 个答案:

答案 0 :(得分:6)

curses中的颜色只是从0curses.COLORS - 1的数字。您列出的只是命名的常量 curses为您提供的。

Curses支持256种颜色,但只有当你的终端通过TERM环境变量将自己标识为256色终端 时,它才能启用

虽然大多数现代终端 多年来支持256种颜色,例如Gnome Terminal和Xterm,但许多终端仍然没有报告。

如果您使用env TERM=xterm-256color yourprogram运行程序,curses将启用256种颜色,只要您的终端实际支持它,它就可以正常运行

如果确实有效,请将终端更改为自动设置TERM

建议进一步阅读:

http://blog.sanctum.geek.nz/term-strings/

http://blog.sanctum.geek.nz/256-colour-terminals/

https://unix.stackexchange.com/a/181766/4919

https://askubuntu.com/a/578798/11015

答案 1 :(得分:3)

Urwid支持256 colour terminalspalette_test.py

我推荐它作为curses模块的优秀替代品(如果使用curses模块不是项目的要求)。

答案 2 :(得分:0)

在GitHub上,可以免费使用,研究,修改和重新分发高级GUI库,位于“https://github.com/rigordo959/tsWxGTUI_PyVx_Repository”。

它在Python 2x& 3x使用“curses”低级GUI包。

您的应用程序可以使用像素模式“wxPython”高级GUI API的字符模式子集进行编程。它支持带键盘和鼠标输入的显示器以及各种终端仿真器,包括彩色xterms(8色,64色对,16色,256色对)和非彩色vt100 / vt220。

它包含可配置多达256种诅咒颜色的Python模块。但是,如果应用程序需要处理256个颜色对以显示或隐藏文本,则curses无法处理超过256个颜色对,这意味着不超过16种颜色。

答案 3 :(得分:-1)

Fabulous包提供256色支持但它没有链接到ncurses。虽然,我相信你可以将两者结合起来。