Python实现Linux终端彩色输出的代码与配置指南

Miles
Miles
发布时间:2026-10-12| 3人浏览过
原创

本文详解如何利用 ANSI 转义序列在 Linux 终端中通过 Python 打印彩色文本。文章提供标准化代码模板、颜色参数对照表,并附带配置免后缀直接执行的完整流程,帮助开发者快速美化命令行日志输出。

实现 Linux 终端输出彩色文本的原理与代码示例

Linux 终端支持通过 ANSI 转义序列控制字体颜色。基本规则是在待输出的文字前后添加特定的转义符,开头声明颜色参数,结尾使用重置代码恢复默认样式。例如在终端直接输入以下命令即可看到绿色字体的 hello:

> echo -e '\033[0;32mhello\033[0m'

其中 0;32m 用于指定前景色。数字 2 对应绿色,将其替换为 0~7 可切换不同标准色系(如 0 黑色、1 红色、4 蓝色等)。末尾的 \033[0m 负责结束着色状态。利用该机制,我们可以在 Python 脚本中封装一个格式化函数,批量生成彩色输出指令。

Python脚本在Linux终端中打印出多色文字的效果图
执行上述 Python 代码后终端显示的黑、红、绿、黄、蓝、紫、青、灰标准色块对照结果

第1步:编写带颜色枚举的 Python 打印模块

将颜色编号抽象为常量类,结合字符串模板生成转义序列。以下是适配 Python 3 的标准写法:

#coding=utf-8
fmt = '\033[0;3{}m{}\033[0m'.format

class color:
    BLACK  = 0
    RED    = 1
    GREEN  = 2
    YELLOW = 3
    BLUE   = 4
    PURPLE = 5
    CYAN   = 6
    GRAY   = 7

# 测试输出各颜色文本
print(fmt(color.BLACK , 'kzc'))
print(fmt(color.RED   , 'kzc'))
print(fmt(color.GREEN , 'kzc'))
print(fmt(color.YELLOW, 'kzc'))
print(fmt(color.BLUE  , 'kzc'))
print(fmt(color.PURPLE, 'kzc'))
print(fmt(color.CYAN  , 'kzc'))
print(fmt(color.GRAY  , 'kzc'))

代码核心逻辑为定义 fmt 闭包,将颜色码 {} 与自定义文本 {} 传入。运行后可观察到终端按顺序渲染出对应颜色的字符片段。

第2步:配置免后缀直接执行脚本(可选优化)

若该脚本需频繁调用,每次敲击 python xxx.py 较为繁琐。可通过修改文件属性与头部声明,实现直接输入路径运行:

  1. 添加 Shebang 声明:在脚本第一行插入 #!/usr/bin/env python3(或 #!/usr/bin/python),告知系统解释器路径。
  2. 赋予执行权限:打开终端进入脚本所在目录,执行 chmod +x /path/to/xxx(若已去掉后缀则无需写 .py)。
  3. 验证运行状态:直接键入 ./xxx 并按回车。若终端正常输出彩色文本且无报错,即表示配置成功。

完成上述操作后,脚本即可作为独立命令调用,兼顾了代码规范性与执行效率。

排错与注意事项

部分旧版系统终端可能不支持完整 ANSI 转义,若颜色显示异常或出现乱码,请检查终端模拟器(如 GNOME Terminal、iTerm2)是否开启 VT100 兼容模式。此外,原文示例中的 print 语法属于 Python 2 规范,现代环境务必升级至 Python 3 的括号调用形式 print(...),以免引发 SyntaxError。

总结

以上就是利用 Python 和 ANSI 转义序列实现 Linux 命令行彩色输出的详细内容,更多关于 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 算法库。