gpt4 book ai didi

Python 处理终端和文件中的颜色

转载 作者:太空宇宙 更新时间:2023-11-04 12:17:38 26 4
gpt4 key购买 nike

我在终端上用颜色打印通过和失败以及一些输出文件。

终端输出:

  Parameter                Output                   Result
------------ ------------ -------
Timer Enabled Enabled Passed

文件输出(使用vim编辑器打开):

  Parameter                Output                   Result
------------ ------------ -------
Timer Enabled Enabled ^[[92mPassed^[[0m

在 python 中我使用了下面的代码:

 HEADER = '\033[95m'
OKBLUE = '\033[94m'
OKGREEN = '\033[92m'
WARNING = '\033[93m'
FAIL = '\033[91m'
ENDC = '\033[0m'
BOLD = '\033[1m'
UNDERLINE = '\033[4m'

代码执行发生在 linux 机器上,文件打开将在 windows 机器(word pad 或 notepad++)和 linux 上完成,比如 vim 编辑器。

现在我需要帮助,当我从 vim 或 Windows 字板打开文件时。我不想看到像“^[[92mPassed^[[0m”这样的颜色代码太丑了。任何人都可以帮助我实现结果的最佳选择

最佳答案

如果文件输出是通过

python script.py > foo.txt

您可以使用 os.isatty(1)(其中 1 是标准输出的文件句柄)来确定输出是否附加到终端(而不是文件)。如果它连接到终端,则不要输出颜色控制代码。

你也可以很自然地用类似的东西去除控制代码事后

text = re.sub('\033\\[\d+m', '', text)

关于Python 处理终端和文件中的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46971566/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com