Python 实现终端彩色文字输出的方法

凌晨两点半
凌晨两点半
发布时间:2026-10-13 | 4人浏览过
原创

本文介绍如何在Python中通过定义bcolors类实现终端文字彩色输出。详细解析了ANSI转义码格式,涵盖前景色、背景色及显示方式的组合用法,并提供完整的代码示例与颜色对照表,帮助开发者在命令行界面中增强信息展示的视觉效果。

Python终端彩色文字实现原理

实现Python终端彩色文字输出的核心在于利用ANSI转义序列。以下代码定义了一个名为bcolors的类,用于封装常用的颜色常量。该类包含了标题(HEADER)、成功(OKBLUE)、绿色(OKGREEN)、警告(WARNING)和错误(FAIL)等预设颜色,以及用于重置颜色的ENDC常量。此外,提供disable()方法,可将所有颜色变量置空,从而禁用彩色输出功能。

bcolors类代码结构


 
 
 
 class bcolors:
  HEADER = '\033[95m'
  OKBLUE = '\033[94m'
  OKGREEN = '\033[92m'
  WARNING = '\033[93m'
  FAIL = '\033[91m'
  ENDC = '\033[0m'
 
  def disable(self):
   self.HEADER = ''
   self.OKBLUE = ''
   self.OKGREEN = ''
   self.WARNING = ''
   self.FAIL = ''
   self.ENDC = ''
 To use code like this, you can do something like
 
 print bcolors.WARNING + "Warning: No active frommets remain. Continue?"
   + bcolors.ENDC
 

ANSI转义码格式详解

终端颜色控制的格式遵循\033[显示方式;前景色;背景色m的规则。具体颜色映射如下:前景色30至37分别对应黑、红、绿、黄、蓝、紫红、青蓝和白;背景色40至47对应相同色系。显示方式中,0为默认,1为高亮,4为下划线,5为闪烁,7为反白,8为不可见。例如,\033[1;31;40m表示高亮红色文字配黑色背景,而\033[0m用于恢复终端默认设置。

颜色与显示方式对照表


 格式:\033[显示方式;前景色;背景色m
 
说明:
前景色   背景色   颜色
---------------------------------------
30    40    黑色
31    41    红色
32    42    绿色
33    43    黃色
34    44    蓝色
35    45    紫红色
36    46    青蓝色
37    47    白色
 
显示方式   意义
-------------------------
0    终端默认设置
1    高亮显示
4    使用下划线
5    闪烁
7    反白显示
8    不可见
 
例子:
\033[1;31;40m <!--1-高亮显示 31-前景色红色 40-背景色黑色-->
\033[0m   <!--采用终端默认设置,即取消颜色设置-->

上述内容展示了Python控制终端输出文字的具体实现方式,旨在为开发者提供实用的参考方案。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表