gpt4 book ai didi

python - 诅咒 can_change_color() 总是返回 False

转载 作者:太空宇宙 更新时间:2023-11-04 03:47:21 25 4
gpt4 key购买 nike

我在 Python 中编写了一个比一次性使用多一点的监控脚本,它使用 ncurses 和颜色来显示一些经常更新但几乎没有人感兴趣的值。为了提醒我注意重大变化,我进行了一些设置,以便当这些值进入有趣的领域时,文本从白底黑字变为红底白字。这在我的 Linux (openSuSE 12.2) 机器上运行良好,但在 Solaris 10 上,curses.can_change_color() 总是返回 False,无论我尝试过什么。在这两个平台上,我使用相同版本的 Python (2.7.2) 和 ncurses (5.7)。我有很多可用的终端仿真器(gnome-terminal、xterm、rxvt)。所有这些都能够以红色显示我的 shell 提示符,所以我知道它们支持颜色。我已经尝试将 TERM 设置为许多 xterm 变体,包括 xtermc、xterm-color、rxvt、rxvt-16color。其中一些终端名称不在默认位置,因此我有时还必须将 TERMINFO 设置为指向 terminfo 功能数据库。因此,我确定找到了我想要的条目。

Python curses.can_change_color() 函数只是同名 ncurses 库例程的薄包装。为什么总是返回 False?

最佳答案

can_change_color() 实际上报告颜色是否可以通过 init_color() 重新映射——一种不常见的能力——而不是颜色是否可以通过 init_pair() 使用。要检查基本颜色功能,您需要的是 has_colors()。

init_color(),在它工作的终端上,让您可以做一些事情,比如调整所使用的蓝色的确切阴影——或者让终端的“蓝色”概念完全显示为其他东西。

关于python - 诅咒 can_change_color() 总是返回 False,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23085308/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com