如何用Python ANSI代码仅将单行错误输出设为红色且不影响后续内容?
解决Python终端输出红色错误后颜色无法恢复的问题
核心问题是你只设置了红色文本格式,但没告诉终端恢复默认样式。ANSI控制码里有专门的重置指令\033[0m,把它加在错误输出的末尾,就能让后续所有内容自动回到终端的默认颜色和格式。
修改后的代码示例:
except Exception as e: print(f"\033[1;31;40m An error occurred while verifying alerts: {str(e)}\033[0m")
\033[0m会重置所有文本格式(包括颜色、加粗、背景色等),不管用户终端默认是白色还是其他配色,都能精准恢复到初始状态,完全不用硬编码指定固定颜色。
如果想让代码更易维护,可以把控制码定义成变量:
RED_ERROR = "\033[1;31;40m" RESET_FORMAT = "\033[0m" # 异常捕获块中使用 except Exception as e: print(f"{RED_ERROR} An error occurred while verifying alerts: {str(e)}{RESET_FORMAT}")
这样后续调整颜色或格式时,直接修改变量值即可,代码可读性也更高。
内容的提问来源于stack exchange,提问作者Ann Flus
相关产品推荐
相关产品推荐

