Python之rich-cli包语法、参数和实际应用案例

Python之rich-cli包语法、参数和实际应用案例 Python rich-cli 完整使用手册一、rich-cli 概述1. 核心介绍rich-cli是基于 Python 知名美化库Rich封装的命令行终端工具无需编写 Python 代码直接在 Shell / CMD / PowerShell 调用命令实现终端彩色输出、语法高亮、表格、日志、Markdown/JSON/代码渲染、进度条、树状目录、图片终端预览等美化能力。底层依赖rich库支持 Windows / macOS / Linux 全平台终端完美适配 iTerm2、Windows Terminal、Git Bash 等现代终端原生 cmd 色彩支持较弱。2. 核心功能清单文件渲染Markdown、JSON、CSV、YAML、源代码语法高亮展示文本美化彩色文本、表格、树结构、面板、代码块、分割线媒体支持终端内预览 PNG/JPG/GIF 图片辅助工具进度条、计时、日志打印、语法校验、 diff 对比管道兼容支持 Linux 管道|、Windows 管道传参可接收程序输出美化导出能力将美化后的内容导出 HTML、SVG、文本文件二、安装方式1. 基础安装pip# 稳定版pipinstallrich-cli# 带图片渲染完整依赖推荐pipinstallrich-cli[full]# 国内加速镜像pipinstallrich-cli-ihttps://pypi.tuna.tsinghua.edu.cn/simple2. 系统全局安装pipx推荐隔离环境# 先装pipxpipinstallpipx pipx ensurepath# 全局安装rich-cli任意终端可直接调用rich命令pipxinstallrich-cli3. 验证安装rich--version# 输出版本号即成功rich--help# 查看全部指令参数4. 卸载pip uninstall rich-cli-y三、基础语法与全局通用参数1. 通用基础语法rich[COMMAND][文件/文本][全局参数][子命令参数]无子命令直接渲染文件rich demo.md带子命令执行专项功能rich table data.csv2. 全局公共参数所有子命令通用参数作用--width N限制终端输出宽度如--width 100--height N限制输出高度超出滚动--theme NAME切换代码高亮主题可选monokai、dracula、github、solarized-dark--no-color关闭所有彩色输出日志服务器专用--force-color强制开启色彩部分SSH终端自动禁用时使用--export-html file.html将渲染结果导出HTML--export-svg file.svg导出矢量图--text强制将输入识别为纯文本不解析格式-h / --help查看当前命令帮助-v / --verbose输出详细调试日志3. 核心子命令完整清单执行rich --help可查看高频子命令rich markdown渲染Markdown文件rich json格式化高亮JSONrich csv / table表格渲染CSVrich tree目录树展示rich code代码语法高亮rich image终端图片预览rich log美化日志输出rich print打印自定义彩色文本rich diff文件差异对比rich progress生成进度条四、8个完整实战应用案例案例1终端优雅渲染Markdown文档项目README查看需求直接在终端看项目README.md带标题、代码块、列表彩色渲染替代cat。命令# 最简rich README.md# 指定暗黑主题、限制宽度80导出html备份rich markdown README.md--themedracula--width80--export-html readme_view.html# 管道传入markdown文本echo# 测试标题\npython\nprint(123)\n|rich效果自动区分一级/二级标题、有序无序列表、代码块语法高亮、引用块灰色底色。案例2格式化高亮JSON日志文件接口日志排查需求原始JSON单行压缩日志可读性极差用rich格式化彩色分层展示。测试数据api.log{code:200,data:{user_id:1001,name:张三,roles:[admin,editor]},msg:success}命令# 渲染本地JSON文件rich json api.log--thememonokai# 管道接收接口返回JSONcurlhttps://jsonplaceholder.typicode.com/todos/1|rich json# 关闭色彩服务器导出文本catapi.log|rich json --no-colorjson_format.txt优势自动缩进、key蓝色、数值绿色、字符串黄色、数组对象分层折叠支持超长JSON滚动查看。案例3CSV数据转交互式彩色表格运维报表查看需求服务器监控CSV报表终端生成带隔行变色表格。server.csv主机名,IP,CPU,内存,磁盘使用率 server-01,192.168.1.10,23%,45%,60% server-02,192.168.1.11,78%,82%,91% server-03,192.168.1.12,12%,30%,25%命令# 读取CSV生成表格rich table server.csv# 指定分隔符、自定义宽度rich table data.csv--delimiter;--width120# 管道输出csv内容psaux|awk{print $1,$2,$3,$4}|rich table--header用户,PID,CPU,内存案例4树状目录打印项目结构梳理替代tree命令需求递归展示项目目录过滤venv、node_modules隐藏文件夹。命令# 展示当前目录树rich tree.# 限制深度2层忽略指定文件夹rich tree.--depth2--ignorevenv,__pycache__,node_modules# 只展示python文件rich tree.--glob*.py参数说明--depth递归层数--glob文件过滤--ignore目录黑名单文件夹蓝色、文件白色、脚本绿色区分。案例5终端预览图片无需打开看图软件需求在服务器/本地终端直接查看PNG/JPG截图、图标。前置依赖必须安装完整包pip install rich-cli[full]命令# 预览单张图片rich image logo.png--width60# 预览gif动图rich image demo.gif--height40# 网络图片直接渲染curl-shttps://xxx/test.png|rich image限制Windows原生CMD不支持像素图Windows Terminal、iTerm、Alacritty完美支持。案例6代码文件语法高亮查看快速翻阅源码需求替代cat、less查看Python/Java/SQL代码带高亮。命令# 高亮python脚本rich code main.py--themedracula# 查看SQL文件rich code init.sql--themegithub# 读取单行代码管道输出echodef hello():\nprint(rich test)|rich code-lpython参数-l / --language手动指定编程语言。案例7自定义彩色文本打印Shell脚本美化输出需求写bash脚本时输出警告、成功、错误彩色提示。命令# 基础彩色文字rich print[green]操作成功[/green] 数据已保存rich print[red]ERROR文件不存在[/red]rich print[yellow bold]警告磁盘空间不足[/yellow]# 带边框面板rich print--panel[blue]系统监控面板[/blue]--panel-style cyan# 多段分割线rich print第一部分--rule分割线 rich print第二部分--rule#ff00ffShell脚本示例monitor.sh#!/bin/bashrich print[cyan bold] 服务器巡检 [/cyan bold]df-h|rich table--header文件系统,总大小,已用,可用,使用率,挂载点案例8文件差异对比diff代码配置快速比对需求对比两份配置文件高亮新增/删除/修改行比原生diff美观。命令# 对比两个文本文件richdiffconfig_old.yaml config_new.yaml# 对比代码文件richdiffapp_v1.py app_v2.py--thememonokai渲染规则红色删除行、绿色新增行、黄色修改行侧边显示行号。五、常见报错与解决方案1. 报错1command not found: rich原因pip安装未加入系统PATH或仅安装在虚拟环境解决使用pipx全局安装pipx install rich-cli激活对应Python虚拟环境再执行richWindows重启终端刷新环境变量2. 报错2图片预览报错Could not import PIL原因仅装基础rich-cli缺少图片依赖Pillow解决pipinstallrich-cli[full]# 或单独安装pillowpipinstallpillow3. 报错3终端无颜色全黑白原因1SSH服务器终端自动禁用色彩解决增加--force-color参数原因2Windows原生CMD不支持TrueColor解决切换Windows Terminal / Git Bash原因3日志重定向到文件自动去色解决重定向时强制色彩rich file.md --force-color out.txt4. 报错4JSON解析失败JSONDecodeError原因文件存在多行JSON、注释、非标准JSON解决使用--text参数强制纯文本查看清理JSON注释后再渲染多行ndjson流式文件逐行处理cat log.jsonl | while read line; do echo $line | rich json; done5. 报错5tree命令中文乱码/方块问号原因终端字体不支持Unicode树形符号解决终端设置等宽中文字体Consolas、JetBrains Mono、微软雅黑等宽版6. 报错6导出HTML空白/样式丢失原因旧版rich-cli导出逻辑bug解决升级到最新版pip install --upgrade rich-cli7. 报错7管道传入内容截断、渲染不全原因输出宽度自动适配终端过小解决手动指定宽度--width 150六、使用注意事项1. 终端兼容性Windows CMD色彩、图片渲染支持差推荐Windows TerminalSSH远程服务器默认关闭色彩必须加--force-color部分老旧服务器终端仅支持8色部分高亮主题会失效改用github简约主题2. 生产服务器使用规范日志导出、定时脚本统一加--no-color避免日志文件充斥ANSI色彩转义符禁止在监控脚本使用图片渲染子命令无意义且占用资源超大文件10万行不建议直接rich file会卡顿改用less分页配合管道3. 性能优化超大JSON/CSV文件不要一次性全渲染截取前100行head -n 100 data.csv | rich tabletree目录避免不加深度限制遍历根目录--depth 2限制层级4. 格式解析限制JSON不支持注释带//、/* */注释的文件会解析失败Markdown复杂扩展语法Mermaid流程图、数学公式无法渲染仅支持基础markdownCSV文件含特殊逗号、换行时建议先用Excel导出标准无换行CSV再渲染5. Shell脚本避坑脚本内彩色输出如果需要保存日志必须分支处理控制台开色彩、文件关闭色彩Windows PowerShell执行rich管道时编码设为UTF-8避免中文乱码[Console]::OutputEncoding [System.Text.Encoding]::UTF86. 版本兼容Python最低支持 3.73.6及以下无法安装新版rich-cli本地rich库版本和rich-cli尽量同步避免版本冲突pip install --upgrade rich rich-cli七、拓展补充管道组合实用技巧rich-cli 最大优势是兼容系统管道可和grep、curl、ps、df等系统命令联动# 查看占用最高的进程表格psaux--sort-%cpu|head-10|rich table--header用户,PID,CPU,内存,虚拟内存,终端,状态,命令# 查看磁盘使用率彩色表格df-h|rich table# 过滤日志后高亮JSONtail-fapp.log|grepresponse|rich json《动手学PyTorch建模与应用:从深度学习到大模型》是一本从零基础上手深度学习和大模型的PyTorch实战指南。全书共11章前6章涵盖深度学习基础包括张量运算、神经网络原理、数据预处理及卷积神经网络等后5章进阶探讨图像、文本、音频建模技术并结合Transformer架构解析大语言模型的开发实践。书中通过房价预测、图像分类等案例讲解模型构建方法每章附有动手练习题帮助读者巩固实战能力。内容兼顾数学原理与工程实现适配PyTorch框架最新技术发展趋势。