这个问题在这里已经有了答案:
How do I print colored text to the terminal?
(56 个回答)
3年前关闭。
如何指示 python 生成一个输出文件,该文件保留主脚本中指定的颜色格式?
我在 WRDS Cloud 上工作,我正在使用一个 shell 文件来执行一个 python 脚本。云返回一个输出文件,我可以像 txt 文件一样下载和打开它。但是,这不会保留我在原始代码中指定的颜色格式。
我曾尝试在我的 python 脚本中使用不同的格式化包,但结果始终相同:颜色未显示在输出文件中。我真的需要查看颜色,因为我用它来突出显示一些表示警告或错误的特定消息。因此,我认为解决此问题的唯一方法是指示我的 python 脚本生成不同类型的输出,但我不知道如何。
我的 python 脚本如下所示:
from colorama import *
init()
print(Fore.MAGENTA + 'Warning: The query failed' + Fore.RESET)
输出文件如下所示(没有洋红色):
Warning: The query failed
最佳答案
简单的答案是:“一个简单的文本文件不能有不同的颜色”
Colorama(和所有其他终端颜色套件)将“特殊字符”放在要着色的文本之前。这些字符由终端“读取”,将输出正确的字符和正确的颜色(并删除特殊字符,以便最终用户永远不会知道)。
没有办法为纯文本着色,因为没有人“阅读”特殊字符并解释它们。
也是 future 的一个提示,不要用*导入整个库,选择你要使用的模块并像这样显式导入它们:
from colorama import Fore
print(Fore.RED + 'some red text' + Fore.RESET)
关于python - 如何生成具有颜色格式的 Python 输出文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56056691/