【问题标题】:PyCharm: Change color of text in Console based on outputPyCharm:根据输出更改控制台中文本的颜色
【发布时间】:2022-01-25 02:23:11
【问题描述】:

我创建了一个特殊的print() 函数来模拟日志记录的工作方式,但仅限于控制台中。我希望这些 Print() 语句的文本输出颜色根据输出而改变。

以下是控制台中几行的示例:

  • 2021-12-24 14:49:07 |调试 | - 广告系列“测试”预算为 250 / 0。
  • 2021-12-24 14:49:07 |调试 | - 获取活动的 2 个受众的发送数据...
  • 2021-12-24 14:49:07 |信息 | - 随机选择广告系列“测试”。
  • 2021-12-24 14:49:07 |信息 | - 随机选择观众“etest”。
  • 2021-12-24 14:49:07 |警告 | - 广告系列缺少“发送时区” .

是否可以根据文本在控制台中更改每一行的颜色?

例如,带有“WARN”的行显示为橙色;等等……

【问题讨论】:

    标签: pycharm


    【解决方案1】:

    colorama 可能会有所帮助。

    例子:

    from colorama import init, Fore, Style
    init()
    
    def print_log(info, level):
        if(level == "WARN"):
            print(Fore.YELLOW + "[WARN] " + info)
            print(Style.RESET_ALL) # Don't forget to change back to normal
    
    print_log("This is a warning", "WARN")
    

    其实Fore.YELLOW发送ANSI sequences到控制台,可以改变控制台文本的颜色。

    【讨论】:

    • 如果将print(Fore.YELLOW + "[WARN] " + info) 行替换为print(Fore.YELLOW + "[WARN] " + info), end="" 行,则每次运行该函数时,只打印一行。否则,由于第二次打印,它需要两行。
    猜你喜欢
    • 1970-01-01
    • 2016-03-04
    • 2022-01-16
    • 2016-01-23
    • 2020-10-06
    • 1970-01-01
    • 1970-01-01
    • 2015-06-16
    • 2011-11-22
    相关资源
    最近更新 更多