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

Python3使用print命令时如何修改输出文本颜色,类似shell脚本tput效果

问题解答

Python3完全可以实现类似bash的终端打印颜色修改效果,以下是两种常用实现方案:

方案1:原生ANSI转义序列(无需安装第三方依赖)

终端支持ANSI转义序列的前提下,可以直接在打印内容中插入颜色控制码,使用后需要加重置码恢复默认颜色,避免后续输出都被染色。
常用颜色控制码:

  • 绿色前景色:\033[92m
  • 红色前景色:\033[91m
  • 重置默认样式:\033[0m

修改后的代码示例:

for TOPIC in list:
  if str(val) in TOPIC:
     word = TOPIC.split()[1]
     # 绿色输出成功信息
     print("\033[92mTopic " + word + " is successfully configured\033[0m")
  else:
      try:
       word = TOPIC.split()[1]
       # 红色输出错误信息
       print("\033[91mTopic " + word + " bad configuration\033[0m")
      except IndexError:
       pass

方案2:使用colorama库(适配多平台,兼容性更好)

如果需要兼容Windows等默认不开启ANSI支持的平台,可以使用第三方库colorama,它会自动处理不同系统的终端适配。
使用步骤:

  1. 安装库:执行命令pip install colorama
  2. 修改代码如下:
from colorama import init, Fore

# 初始化colorama,自动适配终端
init(autoreset=True) # autoreset参数设置为True后,每次打印结束会自动重置颜色,不用手动加重置码

for TOPIC in list:
  if str(val) in TOPIC:
     word = TOPIC.split()[1]
     print(Fore.GREEN + "Topic " + word + " is successfully configured")
  else:
      try:
       word = TOPIC.split()[1]
       print(Fore.RED + "Topic " + word + " bad configuration")
      except IndexError:
       pass

注意:如果是将输出重定向到文件等非终端场景,颜色控制码会变成乱码,可提前判断输出目标是否为终端再决定是否添加颜色控制。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 10:24:01