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

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

本文介绍如何在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 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。