PyCharm: 根据输出更改控制台中文本的颜色
PyCharm: Change color of text in Console based on output
我创建了一个特殊的 print()
函数来模拟日志记录的工作方式,但仅限于控制台。我希望这些 Print()
语句的文本输出颜色根据输出而改变。
以下是来自控制台的几行示例:
- 2021-12-24 14:49:07 | DEBUG | - Campaign "Test" budget is 250 / 0.
- 2021-12-24 14:49:07 | DEBUG | - Getting sending data for campaign's 2 audiences...
- 2021-12-24 14:49:07 | INFO | - Randomly chose campaign "Test".
- 2021-12-24 14:49:07 | INFO | - Randomly chose audience "etest".
- 2021-12-24 14:49:07 | WARN | - Campaign is missing "Sending Timezone"
.
是否可以根据文本更改控制台中每一行的颜色?
例如,将带有“WARN”的行显示为橙色;等...
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()
函数来模拟日志记录的工作方式,但仅限于控制台。我希望这些 Print()
语句的文本输出颜色根据输出而改变。
以下是来自控制台的几行示例:
- 2021-12-24 14:49:07 | DEBUG | - Campaign "Test" budget is 250 / 0.
- 2021-12-24 14:49:07 | DEBUG | - Getting sending data for campaign's 2 audiences...
- 2021-12-24 14:49:07 | INFO | - Randomly chose campaign "Test".
- 2021-12-24 14:49:07 | INFO | - Randomly chose audience "etest".
- 2021-12-24 14:49:07 | WARN | - Campaign is missing "Sending Timezone" .
是否可以根据文本更改控制台中每一行的颜色?
例如,将带有“WARN”的行显示为橙色;等...
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到控制台,可以改变控制台文本的颜色。