Python ansi-text 包完整详解ansi-text是 Python 中专门用于生成 ANSI 彩色/样式文本的轻量级工具包核心作用是在终端CMD、PowerShell、Linux/Mac 终端中给文字添加颜色、背景色、粗体、下划线、闪烁等样式让终端输出更美观、易区分如日志分级、提示信息、数据高亮。它无额外依赖、使用极简兼容所有支持 ANSI 转义码的终端是终端文本美化的首选工具。一、核心功能文字颜色支持 16 色基础色、256 色、RGB 真彩色背景颜色对应文字颜色的所有背景样式文本样式粗体、淡色、斜体、下划线、闪烁、反色、隐藏、删除线组合样式同时叠加颜色背景多种样式重置样式自动清除样式避免终端输出污染链式调用语法简洁支持连续设置样式二、安装方法1. 标准安装pippipinstallansi-text2. 国内镜像加速解决安装慢pipinstallansi-text-ihttps://pypi.tuna.tsinghua.edu.cn/simple3. 验证安装执行以下代码无报错即安装成功importansi_textprint(ansi_text.__version__)三、核心语法与参数1. 基础语法ansi-text提供函数式和链式调用两种语法推荐链式调用更直观# 1. 函数式语法ansi_text.color(文本,颜色,背景,样式1,样式2...)# 2. 链式调用语法推荐ansi_text.颜色().背景().样式(文本)2. 完整参数列表1文本颜色前景色参数名效果black黑色red红色green绿色yellow黄色blue蓝色magenta品红cyan青色white白色gray灰色2背景颜色所有前景色 bg_前缀bg_black、bg_red、bg_green、bg_yellow、bg_blue等3文本样式参数名效果bold粗体dim淡色弱化italic斜体underline下划线blink闪烁部分终端支持reverse反色前景背景互换hidden隐藏文本strike删除线4高级颜色256 色fg256(编号)、bg256(编号)编号 0-255RGB 真彩色fg_rgb(r,g,b)、bg_rgb(r,g,b)r/g/b 0-2555重置样式reset()清除所有 ANSI 样式恢复终端默认输出四、8 个实际应用案例可直接运行案例 1基础彩色文本日志分级场景区分 info/warn/error 日志级别importansi_textasat# 普通信息蓝色print(at.blue(INFO: 程序启动成功))# 警告信息黄色粗体print(at.yellow().bold(WARN: 磁盘空间不足))# 错误信息红底白字print(at.white().bg_red().bold(ERROR: 连接数据库失败))案例 2带背景色的高亮提示场景终端菜单、重要提示高亮importansi_textasat# 绿色背景黑色粗体 成功提示print(at.black().bg_green().bold(✅ 操作完成))# 黄色背景黑色 提醒print(at.black().bg_yellow().bold(⚠️ 请确认操作))# 蓝色背景白色 菜单标题print(at.white().bg_blue().bold( 系统菜单 ))案例 3复杂文本样式斜体下划线删除线场景标记文本、强调内容importansi_textasat# 斜体蓝色print(at.blue().italic(这是斜体蓝色文本))# 下划线绿色print(at.green().underline(这是带下划线的绿色文本))# 删除线红色print(at.red().strike(这是带删除线的红色文本))# 组合样式粗体斜体下划线print(at.magenta().bold().italic().underline(多重样式叠加))案例 4256 色与 RGB 真彩色自定义颜色场景精准配色、个性化输出importansi_textasat# 256 色编号 196 为亮红print(at.fg256(196)(256色亮红色文本))# RGB 真彩色橙色255,165,0print(at.fg_rgb(255,165,0)(RGB 橙色文本))# RGB 背景色print(at.black().bg_rgb(0,255,255)(RGB 青色背景))案例 5批量样式化列表数据场景遍历输出数据并高亮关键项importansi_textasat data[正常数据,警告数据,错误数据,普通数据]foridx,iteminenumerate(data):if错误initem:print(at.red().bold(f{idx1}.{item}))elif警告initem:print(at.yellow().bold(f{idx1}.{item}))else:print(at.green(f{idx1}.{item}))案例 6终端进度条与动态提示场景命令行工具进度、加载提示importansi_textasatimporttimeprint(at.blue().bold(正在加载数据...),end)foriinrange(10):time.sleep(0.2)print(at.green(▇),end,flushTrue)print(at.reset()\n加载完成)案例 7表格数据高亮美化场景终端输出表格区分表头/数据importansi_textasat# 表头白底蓝字粗体headerat.white().bg_blue().bold(姓名\t年龄\t状态)# 正常行绿色row1at.green(张三\t20\t正常)# 异常行红色row2at.red(李四\t22\t异常)print(header)print(row1)print(row2)案例 8重置样式避免终端污染场景防止样式残留影响后续输出importansi_textasat# 错误示范不重置会导致后续所有文本都带样式print(at.red(带颜色的文本))print(这行文本也会变红错误)# 正确示范自动重置ansi-text 默认自动重置print(at.red(带颜色的文本))print(at.reset())# 手动重置更安全print(这行恢复默认颜色正确)五、常见错误与解决方案错误 1Windows 终端不显示颜色/显示乱码原因Windows 旧版 CMD 默认不支持 ANSI 转义码解决方案升级到 Windows 10 1903 或使用 PowerShell/Windows Terminal代码开头添加兼容代码importos os.system()# 启用 Windows CMD ANSI 支持错误 2AttributeError: module ansi_text has no attribute xxx原因函数名拼写错误如blod应为bold安装了错误的包不是ansi-text解决方案核对参数名严格区分拼写重新安装pip uninstall ansi-text pip install ansi-text错误 3样式叠加失效/只显示最后一个样式原因链式调用语法错误错误写法at.blue(文本).bold()# 错误正确写法at.blue().bold(文本)# 正确样式在前文本在后错误 4RGB/256 色不显示显示为普通颜色原因终端不支持真彩色/256 色解决方案更换终端Windows Terminal、iTerm2、Linux 终端错误 5导入包报错ModuleNotFoundError: No module named ansi_text原因未安装/安装到错误的 Python 环境解决方案确认安装命令pip install ansi-text用对应环境的 pip 安装python -m pip install ansi-text六、使用注意事项终端兼容性闪烁blink、隐藏hidden仅部分终端支持旧终端建议只用 16 色基础样式粗体/下划线样式自动重置ansi-text会自动给文本末尾添加重置码无需手动处理单段文本批量输出建议手动调用at.reset()避免残留日志/文件输出ANSI 转义码是控制字符不要写入日志文件/保存到文本否则会显示乱码# 错误写入文件带乱码withopen(log.txt,w)asf:f.write(at.red(错误信息))# 正确纯文本写入终端再上色msg错误信息print(at.red(msg))withopen(log.txt,w)asf:f.write(msg)性能注意高频输出如循环百万次时ANSI 样式会轻微降低性能简单输出建议关闭样式链式调用顺序样式调用无顺序要求但文本必须放在最后at.颜色().样式(文本)✅at.样式(文本).颜色()❌总结ansi-text是轻量无依赖的终端文本美化工具支持颜色、背景、样式叠加安装pip install ansi-text核心语法at.颜色().样式(文本)8 大案例覆盖日志、提示、数据高亮、进度条、表格等高频场景核心注意Windows 终端需启用 ANSI、文本必须放链式调用最后、不将样式写入文件《动手学PyTorch建模与应用:从深度学习到大模型》是一本从零基础上手深度学习和大模型的PyTorch实战指南。全书共11章前6章涵盖深度学习基础包括张量运算、神经网络原理、数据预处理及卷积神经网络等后5章进阶探讨图像、文本、音频建模技术并结合Transformer架构解析大语言模型的开发实践。书中通过房价预测、图像分类等案例讲解模型构建方法每章附有动手练习题帮助读者巩固实战能力。内容兼顾数学原理与工程实现适配PyTorch框架最新技术发展趋势。