【问题标题】:Changing Shell Text Color (Windows) [duplicate]更改外壳文本颜色(Windows)[重复]
【发布时间】:2011-09-26 02:53:12
【问题描述】:

我正在寻找一种方法来更改我的 python 脚本运行时输出的文本颜色。基本思路是这样的:

if (Data < LowerLimit):
    print "Failed" # Output Failed as Red Text
elif (Data > UpperLimit):
    print "Failed" # Red Color
else:
    print "Passed" # Blue Color

这些脚本正在 Windows 机器上用于快速数据分析。

【问题讨论】:

标签: python windows text colors


【解决方案1】:

或者关于我找到的最好的模块 http://pypi.python.org/pypi/colorama

【讨论】:

  • 是的 - colorama 实际上适用于 Windows 7 命令提示符。在 Windows 10 之前,ANSI 代码在命令提示符下不起作用(出于某种难以理解的原因)。 Colorama 可以完全透明地使用 Win32 命令 - 这使其工作并易于使用。我很高兴我终于找到了解决这个问题的方法。
  • @Noiseinthestreet 你能这样吗=> stackoverflow.com/a/70599663/3057246
【解决方案2】:

这非常简单!您可以利用 windows 操作系统命令,而不是为 python 导入奇怪的模块或尝试长命令。

在 Windows 中,存在用于更改命令提示符文本颜色的命令。你可以在 python 中使用它,从 a 开始:import os

接下来,您需要有一行更改文本颜色,将其放置在您的代码中。 os.system('color 4')

您可以通过启动 cmd.exe 并输入颜色帮助来找出其他颜色。

好的部分?这就是他们的全部内容,简单的代码行。 -天

【讨论】:

  • 这会改变整个控制台的颜色,而不仅仅是之后打印的文本。
  • 对不起那些家伙。我困了,完全误解了这个问题。
  • 它仍然是对 EXTREMELY RELATED question LIKELY TO MARKED DUPLICATE 的有效答案,即如何在 Python 中更改 shell 文本颜色...
  • 赞成,因为虽然它可能不能完全回答原始问题,但这确实回答了我的问题,谷歌将我带到这里。
  • 实际上,如果你运行 os.system('color'),那么 ANSI 转义序列就会神奇地开始在 windows 中工作。
【解决方案3】:

尝试查看以下链接:Python | change text color in shell

或在这里阅读:http://bytes.com/topic/python/answers/21877-coloring-print-lines

一般的解决方案是在打印字符串时使用 ANSI 代码。

有一种解决方案可以完全满足您的需求。

【讨论】:

  • 但为什么要投反对票?我的回答有什么问题????
  • 我已经尝试过他们的解决方案,但它们似乎不适用于 Windows。调用 hilite("Hello", True, False) 时的最佳答案(hilite 函数)导致 '\x1b[32mhello\x1b[om' 打印结果为 ←[32mhello←[0m 而不是彩色打印。此外,curses 库不在 Windows 平台上。
  • 对不起,我已经用pycharm在windows中检查了它,它工作得很好,但是它不适用于python控制台,所以请原谅并容忍我
  • 虽然可行,但打印原始 ANSI 代码充其量只是一个“粗鲁”的解决方案。您不应该期望它在所有控制台中都能正常工作。
【解决方案4】:

研究了一段时间,没有得到任何满意的答案,但是......

1) ANSI 转义序列确实可以在 Linux 的终端中工作

2) 如果您可以容忍有限的 colo(u)rs,试试这个:

print("你好", end=''); print("错误", end='', file=sys.stderr);打印(“再见”)

空闲时,“hello”和“goodbye”为蓝色,“error”为红色。

不是很棒,但现在已经足够了,而且很简单!

【讨论】:

  • 也刚刚在 Windows 上尝试过 - 在空闲的“终端”中工作相同,也忘记了您需要:'import sys'
  • 这只是 IDLE 分别为 stdout 和 stderr 着色。这在普通控制台(通常运行脚本)中不会做任何事情
猜你喜欢
  • 2015-10-20
  • 2013-02-19
  • 1970-01-01
  • 2014-02-14
  • 1970-01-01
  • 2021-08-20
  • 1970-01-01
  • 1970-01-01
  • 2013-01-27
相关资源
最近更新 更多