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

Python中bcolors无法正常打印彩色文本问题求助

解决Python打印彩色文本显示转义码而非颜色的问题

出现←[92mhello←[0m这类转义码而非彩色文字,核心原因是当前使用的终端不支持ANSI转义序列,而VS Code集成终端默认支持这类转义码,所以能正常显示颜色。

解决方案:

  • 使用colorama库适配跨终端:这是专门解决跨平台终端颜色显示问题的库,自动处理不同终端的ANSI支持情况。
    1. 安装库:
      pip install colorama
      
    2. 修改代码,添加初始化:
      from colorama import init
      init(autoreset=True)  # autoreset=True可自动重置颜色,无需每次手动加ENDC
      
      class bcolors:
          PURP = '\033[95m'
          OKBLUE = '\033[94m'
          OKCYAN = '\033[96m'
          OKGREEN = '\033[92m'
          LIGHTYELLOW = '\033[93m'
          RED = '\033[91m'
          ENDC = '\033[0m'
          BOLD = '\033[1m'
          UNDERLINE = '\033[4m'
      
      print(f"{bcolors.OKGREEN}hello{bcolors.ENDC}")
      
  • 切换支持ANSI的终端:比如改用PowerShell、Git Bash或VS Code集成终端,这些终端原生支持ANSI转义序列,无需额外配置。
  • Windows cmd终端启用ANSI支持:如果必须使用cmd,可以通过修改注册表开启支持:
    1. 打开注册表编辑器(输入regedit启动)
    2. 定位到HKEY_CURRENT_USER\Console
    3. 创建或修改DWORD类型的VirtualTerminalLevel,设置值为1
    4. 重启cmd后生效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 19:55:18