【问题标题】:How can I determine if the terminal can display colours in python?如何确定终端是否可以在 python 中显示颜色?
【发布时间】:2021-02-27 16:40:38
【问题描述】:

在大多数终端中,我可以在 Python 中使用 ANSI-Color-Codes。例如print("\033[92mHello World") 会以绿色打印出Hello World。但是在其他终端中,这不起作用,它会按字面意思打印[94mHello World

如何确定使用的终端是否可以在代码内显示颜色。 (这不是确定单个终端是否可以显示颜色的问题。我想要区分代码中的终端。)

【问题讨论】:

  • 检查COLORTERM环境变量。
  • 在放入所有代码之前,试着让它吐出一些颜色。如果它有效,那么你现在就知道了。
  • @KlausD。在 Bash 中,我发现 TERM 变量包含有关颜色的信息(在我的情况下为 xterm-256color)。但是我找不到这样的 windows 环境变量。
  • @RhinoRunner 我希望我的脚本能够自动查找,而不需要询问用户
  • 你/你将使用什么编译器?

标签: python python-3.x terminal windows-terminal


【解决方案1】:

我使用了这个代码:

import crayons

print(crayons.red('red'))
print(crayons.yellow('yellow'))
print(crayons.green('green'))
print(crayons.cyan('cyan'))
print(crayons.blue('blue'))
print(crayons.magenta('magenta'))
print(crayons.white('white'))
print(crayons.black('black'))

要得到这个:

所以现在我知道编译器的所有颜色是什么样子了。

【讨论】:

  • 感谢您的回答,但我的问题不是确定单个终端的功能。我希望我的脚本能够自动找出运行它的终端是否可以显示颜色。
  • 如果您像我在回答中所做的那样,并且没有显示一两种(或全部)颜色,那么您现在就知道了。
  • 同样,这不是为单个终端确定它的问题。我想区分不同的终端类型代码内
猜你喜欢
  • 1970-01-01
  • 2011-01-28
  • 1970-01-01
  • 1970-01-01
  • 2022-10-15
  • 1970-01-01
  • 1970-01-01
  • 2015-05-08
  • 2021-12-23
相关资源
最近更新 更多