Python rich-tui 完整使用文档一、rich-tui 基础概述1. 包定位与核心功能rich-tui基于知名文本美化库rich二次封装专门用于快速构建终端交互式TUI文本用户界面简化终端弹窗、表单、表格、布局、菜单、日志、进度条、分栏面板等交互组件开发无需手动处理终端ANSI转义、光标、换行、色彩兼容。核心能力分类终端美化输出彩色文字、渐变、高亮、Emoji、语法高亮代码块布局容器分栏、卡片、面板、网格、侧边栏、弹窗模态框交互式组件输入框、单选/多选菜单、下拉选择、确认弹窗、文件选择器数据可视化终端表格、树形结构、进度条、加载动画、柱状图日志与打印增强结构化日志、过滤日志级别、可折叠日志面板实用工具终端尺寸获取、暂停等待、弹窗提示、复制文本到剪贴板、终端清屏2. 底层依赖rich 13.0.0核心渲染引擎textual可选高级交互式TUI完整应用rich-tui弹窗组件复用其逻辑pygments代码语法高亮wcwidth中英文字符宽度自适应排版二、安装方式1. 标准pip安装# 基础完整版含全部交互组件pipinstallrich-tui# 国内镜像加速pipinstallrich-tui-ihttps://pypi.tuna.tsinghua.edu.cn/simple2. 可选扩展安装# 带完整交互式窗口、文件选择、图形组件pipinstallrich-tui[full]# 开发版最新未发布代码pipinstallgithttps://github.com/xxx/rich-tui.git3. 卸载/升级# 升级pipinstall--upgraderich-tui# 卸载pip uninstall rich-tui-y三、核心语法、通用参数与API3.1 基础导入模板# 全局主对象统一终端渲染入口fromrich_tuiimportConsole# 各类组件fromrich_tui.componentsimport(Panel,Table,Progress,Select,InputBox,ConfirmPopup,Tree,Columns)# 样式常量fromrich_tui.styleimportColor,Align,BorderStyle# 弹窗工具fromrich_tui.popupsimportalert,prompt,select_popup3.2 核心类Console全局终端控制器构造函数参数Console(width:int|NoneNone,# 强制终端宽度None自动适配窗口height:int|NoneNone,# 强制高度color_system:strauto,# 色彩模式auto/truecolor/256/standardforce_terminal:boolFalse,# 非终端环境也强制输出ANSI色彩record:boolFalse,# 是否记录输出支持导出HTMLsoft_wrap:boolTrue,# 文本自动换行stderr:boolFalse,# 输出至stderrtab_size:int4# Tab空格宽度)常用方法console.print(*objects, sep , end\n, styleNone, justifyNone)核心打印支持多组件混合输出console.clear()清屏console.pause(text按回车继续...)暂停交互console.export_html(path)将终端所有输出保存为HTMLconsole.log(*msg, levelinfo)结构化日志输出3.3 通用全局样式参数所有组件通用所有可视化组件Panel/Table/Columns等共享以下参数参数类型说明titlestr组件顶部标题title_alignAlign标题对齐left/center/rightborder_stylestr/Color边框颜色、线型solid/double/roundstylestr整体背景/前景色如red on whitepaddingtuple/int内边距单数字四边统一(上下,左右)widthint组件固定宽度expandbool是否占满终端宽度3.4 交互输入组件通用参数Select/InputBox参数说明labelstrdefaultanyrequiredboolpasswordbooloptionslistmultibool四、8个完整可运行实战案例案例1基础彩色美化打印 Emoji文本输出功能普通文字上色、渐变文本、代码块高亮fromrich_tuiimportConsolefromrich_tui.styleimportColor consoleConsole()# 1. 基础彩色文字console.print([red]错误信息[/red]文件读取失败)console.print([green bold]成功[/green bold]数据同步完成)console.print(f[{Color.BLUE}]蓝色普通文字[/])# 2. 渐变文字console.print([gradient(red,yellow)]渐变标题文本[/gradient],justifycenter)# 3. Python代码语法高亮code def hello(): print(Hello rich-tui) console.print(code,stylesyntax.python)console.pause()案例2卡片Panel分栏布局展示数据功能多卡片并排布局展示多组业务信息fromrich_tuiimportConsolefromrich_tui.componentsimportPanel,Columns consoleConsole()# 三张卡片panel1Panel(CPU使用率78%,title硬件监控,border_stylegreen)panel2Panel(内存占用6.2G/16G,title内存信息,border_styleblue)panel3Panel(磁盘剩余120G,title硬盘状态,border_styleyellow)# 分栏并排输出colsColumns([panel1,panel2,panel3],equal_widthTrue)console.print(cols)案例3交互式弹窗输入单行文本密码输入功能弹出输入框获取用户账号密码fromrich_tui.popupsimportprompt# 普通文本输入usernameprompt(label请输入用户名,defaultadmin)# 密码隐藏输入passwordprompt(label请输入密码,passwordTrue)print(f账号{username}密码长度{len(password)})案例4单选/多选下拉菜单弹窗功能菜单选择操作类型返回选中值fromrich_tui.popupsimportselect_popup# 单选opselect_popup(label请选择操作,options[新增数据,修改数据,删除数据,导出报表])print(你选择,op)# 多选multi_opselect_popup(label批量选择功能空格多选,options[备份,压缩,上传,清理缓存],multiTrue)print(选中项,multi_op)案例5结构化数据表格渲染业务报表功能终端生成带色彩、对齐的二维表格支持行高亮fromrich_tuiimportConsolefromrich_tui.componentsimportTable consoleConsole()# 创建表格tableTable(title员工薪资表,border_stylecyan)# 添加表头table.add_column(工号,justifycenter)table.add_column(姓名)table.add_column(部门)table.add_column(薪资,stylegreen)# 填充数据table.add_row(001,张三,技术部,15000)table.add_row(002,李四,运营部,9500)table.add_row(003,王五,财务部,12000)console.print(table)案例6循环任务进度条批量文件处理功能多任务并行进度条带进度百分比、剩余时间fromrich_tuiimportConsolefromrich_tui.componentsimportProgressimporttime consoleConsole()# 模拟批量处理文件withProgress()asprogress:task1progress.add_task([red]处理图片...,total100)task2progress.add_task([green]导出文档...,total80)whilenotprogress.finished:progress.update(task1,advance1)progress.update(task2,advance0.8)time.sleep(0.05)console.print([bold green]全部任务执行完成[/bold green])案例7树形结构展示目录/层级数据功能树形组件展示文件目录、组织架构fromrich_tuiimportConsolefromrich_tui.componentsimportTree consoleConsole()treeTree(项目根目录,border_stylegold)# 一级节点srctree.add(src/ 源代码)statictree.add(static/ 静态资源)# 子节点src.add(main.py)src.add(utils/)src.add(config.yaml)static.add(img/)static.add(css/)console.print(tree)案例8确认弹窗日志系统完整工具脚本功能弹窗二次确认、分级日志打印、错误提示弹窗fromrich_tuiimportConsolefromrich_tui.popupsimportalert,confirm consoleConsole()# 分级日志console.log(程序启动成功,levelinfo)console.log(加载配置文件config.json,leveldebug)console.log(检测到低磁盘空间,levelwarning)# 警告弹窗alert(警告磁盘剩余空间不足5G,stylered)# 确认弹窗is_delconfirm(确认删除所有临时文件此操作不可恢复)ifis_del:console.log(已执行清理,levelsuccess)else:console.log(用户取消操作,levelinfo)五、常见错误、报错原因与解决方案1. ModuleNotFoundError: No module named ‘rich_tui’原因未安装包、安装包名写错、虚拟环境不匹配解决pipinstallrich-tui# 检查当前环境已安装包pip list|findstr rich2. 颜色不显示只有纯文本无ANSI色彩原因1Windows cmd默认不支持真彩色使用PyCharm普通输出面板原因2Console初始化color_systemstandard限制色彩解决# 开启自动真彩色、强制终端色彩consoleConsole(color_systemauto,force_terminalTrue)# Windows推荐使用Windows Terminal / PowerShell3. 弹窗Select/InputBox无交互直接跳过无输入原因代码使用IDE内置输出窗口不支持终端键盘交互脚本重定向输出到文件解决在原生终端cmd/终端/PowerShell直接运行python xxx.py不要IDE运行4. 表格/Panel排版错乱、文字溢出换行异常原因未设置expandFalse终端窗口过小中文字符宽度计算错误修复参数Table(expandFalse,width80)Panel(...,width90,soft_wrapTrue)5. Progress进度条卡顿、更新延迟原因循环内无sleep短时间高频刷新终端IO阻塞优化降低advance刷新频率增加微小延时6. 报错 AttributeError: ‘Console’ object has no attribute ‘popup’原因新旧版本API变更弹窗不在Console内置需单独导入popups模块正确导入fromrich_tui.popupsimportalert,prompt,select_popup7. 多选菜单返回空列表无法选中原因忘记设置multiTrue默认单选模式键盘操作不熟悉空格勾选、回车确认修复添加multiTrue参数8. 导出HTML空白无色彩样式原因创建Console时未开启recordTrue记录输出consoleConsole(recordTrue)# 所有打印完成后导出console.export_html(output.html)六、使用注意事项与最佳实践1. 环境兼容Windows CMD色彩兼容性差优先使用 Windows Terminal、Git Bash、PowerShell 7服务器ssh远程终端必须开启256色否则渐变、高亮失效容器/CI流水线无交互场景禁用弹窗组件会阻塞程序2. 性能优化大批量循环打印时不要单次console.print收集文本后一次性输出减少IOProgress组件避免每秒刷新超过50次降低终端渲染压力复杂Tree、大表格限制最大行数防止终端一次性渲染上万行卡死3. 交互规范自动化脚本无人工操作禁止使用prompt/select_popup/confirm会阻塞进程密码输入组件仅本地脚本使用日志中切勿打印原始密码值弹窗label文字简洁避免超长提示遮挡选择列表4. 样式规范统一全局Console实例不要多处新建Console对象会造成终端分层错乱颜色语义标准化red错误、yellow警告、green成功、blue普通信息生产环境减少渐变、复杂边框降低老旧终端兼容问题5. 打包发布注意使用pyinstaller打包脚本时需显式包含依赖pyinstaller --collect-data rich-tui main.py否则打包后运行报组件缺失。6. 编码问题Windows终端默认gbk编码出现中文乱码时启动脚本前设置importsys sys.stdout.reconfigure(encodingutf-8)《动手学PyTorch建模与应用:从深度学习到大模型》是一本从零基础上手深度学习和大模型的PyTorch实战指南。全书共11章前6章涵盖深度学习基础包括张量运算、神经网络原理、数据预处理及卷积神经网络等后5章进阶探讨图像、文本、音频建模技术并结合Transformer架构解析大语言模型的开发实践。书中通过房价预测、图像分类等案例讲解模型构建方法每章附有动手练习题帮助读者巩固实战能力。内容兼顾数学原理与工程实现适配PyTorch框架最新技术发展趋势。