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
4

1 回答 1

3

简单的答案是:“一个简单的文本文件不能有不同的颜色”

Colorama(以及所有其他终端颜色套件)将“特殊字符”放在要着色的文本之前。这些字符由终端“读取”,将输出正确的字符和正确的颜色(并删除特殊字符,以便最终用户永远不会知道)。

没有办法为纯文本着色,因为没有人“阅读”特殊字符并解释它们。

也是未来的一个提示,不要使用 * 导入整个库,选择您要使用的模块并像这样显式导入它们:

from colorama import Fore
print(Fore.RED + 'some red text' + Fore.RESET)
于 2019-05-09T11:06:40.053 回答