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

Python在Windows控制台打印彩色文本时为何输出颜色代码?

Windows 10下Python打印彩色文本的解决方法

问题说明

在Windows 10(Python 3.10)环境中,执行print('\033[2;31;43m CHEESY')或使用colorama库时,控制台直接输出ANSI颜色代码,无法显示预期的彩色文本。

有效解决方法

  • 开启终端ANSI支持
    若使用旧版命令提示符,先执行以下命令开启ANSI转义序列支持,执行后重启终端:

    reg add HKCU\Console /v VirtualTerminalLevel /t REG_DWORD /d 1
    

    推荐直接使用Windows终端(Windows Terminal),默认支持ANSI序列。

  • 正确使用colorama库

    1. 安装colorama:
      pip install colorama
      
    2. 示例代码:
      from colorama import init, Fore, Back, Style
      
      init(convert=True)
      # 输出暗淡的红前景黄背景文本(对应原示例的2;31;43格式)
      print(Fore.RED + Back.YELLOW + Style.DIM + 'CHEESY' + Style.RESET_ALL)
      
      必须添加Style.RESET_ALL重置文本格式,避免影响后续输出。
  • 直接调用Windows API(备选方案)
    若上述方法无效,可通过ctypes调用系统API设置颜色:

    import ctypes
    
    # 获取标准输出句柄
    STD_OUTPUT_HANDLE = -11
    handle = ctypes.windll.kernel32.GetStdHandle(STD_OUTPUT_HANDLE)
    # 设置颜色:前景红(4) + 背景黄(14<<4) + 暗淡属性(8)
    ctypes.windll.kernel32.SetConsoleTextAttribute(handle, 4 | (14 << 4) | 8)
    print('CHEESY')
    # 重置为默认控制台颜色
    ctypes.windll.kernel32.SetConsoleTextAttribute(handle, 7)
    

内容的提问来源于stack exchange,提问作者bakunet

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 23:15:42