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

标签 python terminal ncurses

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

COLOR_BLACK
COLOR_RED
COLOR_GREEN
COLOR_YELLOW
COLOR_BLUE
COLOR_MAGENTA
COLOR_CYAN
COLOR_WHITE

如果有更多的颜色,那就太好了。

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

最佳答案

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

关于python - 如何在 Python 的 curses 中获得更多颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13060139/

相关文章:

terminal - Sublime Text - 无法编辑包设置

c++ - ncurses A_ALTCHARSET 字符未在 OSX 上显示

c++ - pdcurses/ncurses 中的重叠窗口

python - Pandas:连接一些 df

python - chardet 在 Big5 上显然是错误的

Raspberry Pi 上的 Python 导入模块

python - 提取图像中的车牌号

macos - 使用并行和 mutool 拆分多个 PDF 文件

linux - 终端 Mac 操作系统 : How to know the executed command?

c - ncurses - pad 无输出