如何在python3中可靠地测试输出端子的颜色功能?

时间:2018-12-01 19:43:41

标签: python-3.x windows colors terminal

我正在寻找一种可靠的方法来测试输出( stdout,stderr )端子是否支持ANSI(或任何一种)颜色。

因为当今大多数终端(即使在Windows上)也至少支持ANSI颜色,所以我发现的所有答案都已过时或错误。 (我已经知道打印颜色测试图案并检查 Unicode / UTF-8 功能是多么容易。)

我看到了部分尝试和变化:

请注意,这对于基于* nix的环境来说非常容易实现,因为他们几乎总是将TERM变量设置为 xterm 类型。但也希望为此找到一些Windows环境变量。

问:我如何获取我的python3代码来检查输出是否使用支持颜色的终端/控制台?

答案必须是跨平台兼容的,例如能够在Windows上进行检查。


更新:

显然这不是一个简单的问题!它似乎取决于许多因素,例如:

  • 您的Windows操作系统是什么版本
  • 您的PowersHell版本是什么
  • 您的“终端/控制台”功能是什么? ( poweshell,minty,cmd 都非常不同)
  • 这些“控制台”中使用什么字体?
  • 您使用什么字符集? ( ASCII,UTF-8 / 16 等)

0 个答案:

没有答案