Python-终端输出带有颜色的文本

在Python中,异常信息默认是打印到终端的,而终端显示的文字颜色通常由终端或者是使用的shell决定。如果你想要在try-except块中捕获到异常时,让异常信息以黄色文本的方式显示,你可以使用一些终端控制码(ANSI escape codes)来改变文本颜色。

以下是一个简单的示例,展示了如何在捕获到异常时,使用ANSI escape codes来输出黄色文本:

# 定义ANSI escape codes
class Colors:
    HEADER = '\033[95m'
    OKBLUE = '\033[94m'
    OKGREEN = '\033[92m'
    WARNING = '\033[93m'
    FAIL = '\033[91m'
    ENDC = '\033[0m'
    BOLD = '\033[1m'
    UNDERLINE = '\033[4m'
 
# 使用上面定义的颜色类
try:
    1 / 0 # 这里故意产生一个除以0的异常
except Exception as e:
    print(f"{Colors.WARNING}{e}{Colors.ENDC}")

在这个例子中,如果发生了除以0的异常,异常信息会以黄色文本的形式被打印出来。Colors.WARNING 是用来开始黄色文本的控制码,而 Colors.ENDC 用来结束颜色设置,使得后续的文本颜色恢复正常。

请注意,这种方法依赖于你的终端支持ANSI escape codes。如果你在Windows命令提示符下运行这段代码,你可能不会看到颜色的改变,因为Windows命令提示符不支持ANSI escape codes。在支持ANSI escape codes的终端中运行上述代码,将会看到异常信息以黄色显示。

posted @ 2024-08-21 11:04  业余砖家  阅读(23)  评论(0编辑  收藏  举报