You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ANSI转义颜色码在Python终端失效问题求助

解决Python控制台无法显示ANSI颜色的问题

这个问题其实挺常见的,核心原因是并非所有终端/控制台环境都支持ANSI转义序列——你用的Atom Terminal本身就对这类转义码做了支持,所以能正常显示彩色,但Python自带的控制台(比如Windows默认的Command Prompt、Python IDLE)通常默认不解析这些转义字符,只会把\033[95m这类代码直接打印出来。

下面给你几个可行的解决方案:

方案1:启用Windows终端的ANSI支持(适用于Windows 10 1511及以上版本)

如果你的系统是较新的Windows版本,可以通过一行代码触发终端加载ANSI支持,修改后的代码如下:

import os
# 触发Windows终端启用ANSI转义序列支持
os.system('')

class color:
    HEADER = '\033[95m'
    BLUE = '\033[94m'
    CYAN = '\033[96m'
    GREEN = '\033[92m'
    WARNING = '\033[93m'
    FAIL = '\033[91m'
    ENDC = '\033[0m'
    BOLD = '\033[1m'
    UNDERLINE = '\033[4m'

# 记得加上ENDC重置颜色,避免后续输入也带着颜色
choose = input(color.HEADER + "Colored Text" + color.ENDC)

方案2:使用colorama库(跨平台更可靠)

colorama是专门解决跨平台终端颜色显示问题的库,它会自动处理Windows环境下的兼容性,用起来更省心:

  1. 先安装库:
pip install colorama
  1. 修改代码如下:
from colorama import init, Fore, Style

# 初始化colorama,autoreset=True可以自动帮你重置颜色,不用每次手动加ENDC
init(autoreset=True)

class color:
    HEADER = Fore.MAGENTA  # 对应原来的95m洋红色
    BLUE = Fore.BLUE
    CYAN = Fore.CYAN
    GREEN = Fore.GREEN
    WARNING = Fore.YELLOW  # 对应原来的93m黄色
    FAIL = Fore.RED
    ENDC = Style.RESET_ALL
    BOLD = Style.BRIGHT
    UNDERLINE = Style.UNDERLINE

choose = input(color.HEADER + "Colored Text")

特殊情况:Python IDLE控制台

如果你的"Python控制台"指的是Python自带的IDLE,那很遗憾——IDLE本身完全不支持ANSI转义序列,无论怎么设置都没法显示颜色,只能换用支持的终端(比如Windows Terminal、PowerShell,或者你之前用的Atom Terminal)。

内容的提问来源于stack exchange,提问作者LQ MK OnFire

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 07:32:12