Python实现Linux终端彩色输出的代码与配置指南
本文详解如何利用 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 脚本中封装一个格式化函数,批量生成彩色输出指令。

第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 较为繁琐。可通过修改文件属性与头部声明,实现直接输入路径运行:
- 添加 Shebang 声明:在脚本第一行插入
#!/usr/bin/env python3(或#!/usr/bin/python),告知系统解释器路径。 - 赋予执行权限:打开终端进入脚本所在目录,执行
chmod +x /path/to/xxx(若已去掉后缀则无需写 .py)。 - 验证运行状态:直接键入
./xxx并按回车。若终端正常输出彩色文本且无报错,即表示配置成功。
完成上述操作后,脚本即可作为独立命令调用,兼顾了代码规范性与执行效率。
排错与注意事项
部分旧版系统终端可能不支持完整 ANSI 转义,若颜色显示异常或出现乱码,请检查终端模拟器(如 GNOME Terminal、iTerm2)是否开启 VT100 兼容模式。此外,原文示例中的 print 语法属于 Python 2 规范,现代环境务必升级至 Python 3 的括号调用形式 print(...),以免引发 SyntaxError。
总结
以上就是利用 Python 和 ANSI 转义序列实现 Linux 命令行彩色输出的详细内容,更多关于 Python 终端美化与自动化运维技巧的资料请关注本站其它相关文章!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













