Python生态下CLI/TUI工具:Rich、Textual、alive-progress、tabulate、plotext、yaspin、Scroll Art
Rich终端下的开源GitHub56.8K Star2.2K Fork富文本渲染工具官方文档。安装pip install rich示例fromrich.consoleimportConsolefromrich.tableimportColumn,Table consoleConsole()tableTable(show_headerTrue,header_stylebold magenta)table.add_column(Date,styledim,width12)table.add_column(Title)table.add_column(Production Budget,justifyright)table.add_column(Box Office,justifyright)table.add_row(Dev 20, 2019,Star Wars: The Rise of Skywalker,$275,000,000,$375,126,118)table.add_row(May 25, 2018,[red]Solo[/red]: A Star Wars Story,$275,000,000,$393,151,347,)table.add_row(Dec 15, 2017,Star Wars Ep. VIII: The Last Jedi,$262,000,000,[bold]$1,332,539,889[/bold],)console.print(table)Windows下的PowerShell展现效果Git Bash则没有字体颜色效果。Textual官网终端下的开源GitHub36.6K Star1.3K ForkReact/Vue在CLI模式下实现真正的交互式界面。内置组件Button按钮Input输入框DataTable表格支持排序、筛选Tree树形控件MarkdownViewer直接渲染MarkdownLog日志输出区域适用场景场景说明TUI工具比如数据库客户端、API测试工具系统监控面板实时显示CPU、内存、日志配置向导多步骤的交互式配置界面终端游戏用文本界面做小游戏数据浏览不想开浏览器终端里直接看表格框架用户taskipy任务管理工具TUItrogon自动把Click CLI转成交互界面django-admin增强工具部分项目在用对比库特点适合textual完整UI框架组件丰富复杂的交互式终端应用rich美化输出单次渲染打印漂亮的日志、表格plotext专门画图表快速看数据趋势prompt_toolkit构建命令行应用自动补全、语法高亮的REPL安装pip install textual注意事项终端要求需支持真彩色和鼠标事件Windows Terminal、iTerm2、GNOME Terminal都行老cmd不行学习曲线比 print() 复杂需要理解布局、事件、响应式变量这些概念不能做酷炫动画毕竟是字符界面没法做流畅的 60fps 动画入门示例fromtextual.appimportAppfromtextual.containersimportHorizontal,Verticalfromtextual.widgetsimportButton,Header,Footer,ProgressBarimportpsutilfromtextual.reactiveimportreactiveimportasyncioclassMyApp(App):defcompose(self):yieldHeader()yieldButton(点我一下,variantprimary)yieldFooter()defon_button_pressed(self,event):self.query_one(Button).label点过了MyApp().run()classLayoutApp(App):defcompose(self):withHorizontal():withVertical():yieldButton(左上)yieldButton(左下)withVertical():yieldButton(右上)yieldButton(右下)LayoutApp().run()classMonitorApp(App):defcompose(self):yieldProgressBar()asyncdefon_mount(self):whileTrue:cpupsutil.cpu_percent()self.query_one(ProgressBar).progresscpuawaitasyncio.sleep(1)MonitorApp().run()alive-progress开源GitHub6.3K Star234 Fork项目不同于普通tqdm进度条是文本动画进度百分比已用时间速度剩余时间估计等。可选进度条样式blocks、bubbles、fill、classic可选光标样式dots、classic、stars、arrows对比tqdm特性tqdmalive-progress简洁度⭐⭐⭐⭐⭐⭐⭐⭐⭐视觉效果普通炫酷自定义程度高很高知名度顶流小众依赖轻量稍重安装pip install alive-progress入门示例fromalive_progressimportalive_bar,alive_itimporttimewithalive_bar(100)asbar:foriinrange(100):time.sleep(0.03)bar()withalive_bar(100,title下载进度,barblocks,spinnerdots)asbar:foriteminalive_it(items,title遍历中):tabulate命令行里的开源GitHub2.6K Star195 Fork表格生成器。适用场景说明脚本输出结果比print好看一万倍CLI工具给用户看结构化的数据调试/临时查看快速看DataFrame或列表内容写文档/README用tablefmtpipe直接生成Markdown表格支持的表格形式包括plain纯文本适合日志simplegithub和pipe类似没有对齐冒号gridsimple_gridrounded_grid带圆角漂亮边框heavy_gridmixed_griddouble_gridfancy_gridoutlinesimple_outlinerounded_outlineheavy_outlinemixed_outlinedouble_outlinefancy_outlinepipeMarkdown适合文档orgtblasciidocjiraprestoprettypsqlrstmediawikimoinmoinyoutrackhtmlunsafehtmllatexlatex_rawlatex_booktabslatex_longtabletextiletsv安装pip install tabulate示例fromtabulateimporttabulate data[[张三,25,北京],[李四,30,上海],[王五,28,深圳]]h[姓名,年龄,城市]# tablefmt参数可指定上述36种格式print(tabulate(data,headersh,tablefmtgrid))# 数字默认右对齐文字默认左对齐手动指定print(tabulate(data,headersh,numaligncenter,stralignleft))示例图plotext在终端里画图表的开源GitHub2.2K Star90 Fork库主要目的是为科学可视化提供一个轻量高效且命令行友好的解决方案在GUI不可用或不切实际的环境中尤其有用如远程服务器、 高性能计算集群或嵌入式系统。通过将绘图渲染为ASCII或unicode字符能够对数据提供即时视觉反馈而无需复杂的显示协议或大量数据传输。特性支持多种图表类型包括折线图、散点图、柱状图、直方图、日期时间图如K线图丰富的绘图功能绘制误差线、混淆矩阵并在图表中添加额外的文本、线条和形状图像和视频支持支持在终端中绘制图像包括GIF动画和播放带有音频的视频包括YouTube视频保存图表可将图表保存为文本或彩色HTML格式无依赖性除图像和视频功能外无需额外依赖命令行工具提供专用命令行工具语法简洁其API设计类似于matplotlib易于上手实战可选依赖包包括pillow用于图像绘制opencv-python用于视频渲染ffpyplayer用于音频流pafy和youtube-dl用于YouTube流shtab用于TAB自动补全安装pipinstallplotext pipinstallplotext[image]pipinstallplotext[completion]绘制散点图正弦图示例importplotextasplt yplt.sin()plt.scatter(y,colorred,markero,labelysin(x))plt.title(Scatter Plot)plt.vline(100,magenta)plt.hline(0.5,blue)plt.plotsize(200,20)plt.show()plt.save_fig(./plot.txt)绘制柱状图示例pizzas[Sausage,Pepperoni,Mushrooms,Cheese,Chicken,Beef]percentages[14,36,11,8,7,4]plt.bar(pizzas,percentages)plt.title(Labelled Bar Plot using Text())[plt.text(pizzas[i],xi1,ypercentages[i]1.5,alignmentcenter,colorred)foriinrange(len(pizzas))]plt.ylim(0,38)plt.plotsize(100,30)plt.show()可通过构建子图的方式在同一个终端窗口中绘制多个图表。使用subplots(rows , cols)方法来构建网格再使用subplot()方法来访问指定行和列位置从子图矩阵的左上角开始计数起始索引为1的特定子图并确定在其中绘制的数据内容以及绘制方式。子图可嵌套即任何一个子图都可以创建属于它自己的子图矩阵。如要创建2×2的子图矩阵其中第一个子图本身又是一个3×4的子图矩阵可使用subplots(2, 2); subplot(1, 1); subplots(3, 4)或直接写成subplots(2, 2).subplot(1, 1).subplots(3, 4)。importnumpyasnp xnp.linspace(0,10,100)y1np.sin(x)y2np.cos(x)plt.subplots(2,1)plt.subplot(1,1)plt.plot(x,y1)plt.title(Sine Wave)plt.subplot(2,1)plt.plot(x,y2)plt.title(Cosine Wave)plt.show()使用image_plot(path)绘制图像play_gif(path)渲染GIF图像。注意事项在调用image_plot()前使用plotsize()方法尤其是对于较大的图像以便预先减小图像大小减轻计算负担如果希望绘制速度更快可设置fastTrue绘图尺寸将锁定为之前选择的大小不会适应终端或子图的大小后续的任何设置方法如xlabel()、frame()等都不会生效如果要绘制超出终端大小的图像请使用plt.limit_size()函数或使用其他库如tkinterpath./1.jpgplt.plotsize(64,64)plt.image_plot(path,markerlist(codedesigner),styleinverted,# grayscaleTrue # 灰度模式)plt.title(设计师)plt.show()plt.save_fig(./plot.html)yaspinYet Another Terminal Spinner for Python简写终端里的开源GitHub912 Star44 Fork动画加载播放器。内置动画dots、line、moon、arrow、bouncingBar、pong、earth地球转。库特点适合场景tqdm进度条有百分比知道总量、要显示进度yaspin转圈动画不知道总量只知道正在做不知道做多久rich.progress功能强大但重复杂的进度显示halo类似yaspin替代品安装pip install yaspin示例fromyaspinimportyaspinfromyaspin.spinnersimportSpinnersimporttimewithyaspin(text正在加载...,colorcyan):time.sleep(1)# 省略sleepwithyaspin(Spinners.dots,text处理中):withyaspin(Spinners.moon,text加载中):withyaspin(Spinners.arrow,text请稍候):custom{frames:[⣾,⣽,⣻,⢿,⡿,⣟,⣯,⣷],interval:80# 毫秒}withyaspin(custom,text自定义动画):time.sleep(1)withyaspin().white.bold.shark.on_blueassp:sp.textWhite bold shark in a blue seatime.sleep(2)yaspin(textLoading...)defsome_operations():time.sleep(3)some_operations()spinneryaspin(text启动中...)spinner.start()spinner.text加载配置...spinner.ok(✅完成)Scroll Art终端打印输出ASCII动画PyPi。支持调参数如改速度、改宽度starfield星际穿越那种星空星星密度还会变化ducklings一群小鸭子在屏幕上乱跑萌到爆炸matrix经典的数字雨瞬间觉得自己是尼奥dna双螺旋结构旋转程序员也能玩生物pac_wall吃豆人风格的墙体动画snail_trail蜗牛爬过留下的黏液痕迹安装pip install scrollart命令行示例python-mscrollart ducklings python-mscrollart matrix效果图

相关新闻

21天学pcie--PCIe 设备是如何被“发现”的?(枚举机制)

21天学pcie--PCIe 设备是如何被“发现”的?(枚举机制)

目录 第 4 篇:PCIe 设备是如何被“发现”的?(枚举机制) 一、先抛一个问题:系统怎么知道你插了什么卡? 二、一句话先给结论 三、PCIe 拓扑回顾(非常重要) 四、Bus / Device / Function(BDF)编号规则 五、枚举的核心目标 六、枚举流程(一步一步来) Step 1:从…

2026/7/13 15:37:32阅读更多 →
免费解锁Wand专业版终极指南:三步告别限制,畅享完整游戏修改体验

免费解锁Wand专业版终极指南:三步告别限制,畅享完整游戏修改体验

免费解锁Wand专业版终极指南:三步告别限制,畅享完整游戏修改体验 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/GitHub_Trending/we/Wand-Enhancer 你是否厌倦…

2026/7/13 15:37:32阅读更多 →
Windows系统文件CompPkgSup.dll丢失找不到问题解决

Windows系统文件CompPkgSup.dll丢失找不到问题解决

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…

2026/7/13 15:32:32阅读更多 →
ICML 2026入选论文详解:Star Elastic技术如何赋能NVIDIA-Nemotron-Labs-3-Elastic-30B-A3B-BF16

ICML 2026入选论文详解:Star Elastic技术如何赋能NVIDIA-Nemotron-Labs-3-Elastic-30B-A3B-BF16

ICML 2026入选论文详解:Star Elastic技术如何赋能NVIDIA-Nemotron-Labs-3-Elastic-30B-A3B-BF16 【免费下载链接】NVIDIA-Nemotron-Labs-3-Elastic-30B-A3B-BF16 项目地址: https://ai.gitcode.com/hf_mirrors/nvidia/NVIDIA-Nemotron-Labs-3-Elastic-30B-A3B-BF…

2026/7/13 16:37:40阅读更多 →
Linux系统篇(五):工具篇(一):搞懂 Linux 包管理,玩转 Vim 编辑器就够了

Linux系统篇(五):工具篇(一):搞懂 Linux 包管理,玩转 Vim 编辑器就够了

上一期我们结束了对Linux中文件以及用户权限的梳理,也已经基本掌握了常用到的一些权限操作指令,接下来,我们介绍软件包,本篇将带你从 Linux 软件安装的底层逻辑出发,彻底搞懂包管理器 yum/apt的工作原理,再…

2026/7/13 16:37:40阅读更多 →
Instant-NuRec核心技术解析:深度感知Vision Transformer与高斯溅射的完美结合

Instant-NuRec核心技术解析:深度感知Vision Transformer与高斯溅射的完美结合

Instant-NuRec核心技术解析:深度感知Vision Transformer与高斯溅射的完美结合 【免费下载链接】instant-nurec 项目地址: https://ai.gitcode.com/hf_mirrors/nvidia/instant-nurec Instant-NuRec是一款革命性的图像转3D模型,它能将一系列输入图…

2026/7/13 16:37:40阅读更多 →
Python面向对象基础:类与对象、继承、多态与魔法方法详解

Python面向对象基础:类与对象、继承、多态与魔法方法详解

1.什么是面向对象1.1 面向对象和面向过程编程思想就是人们利用计算机来解决问题的思维。常见的思维方式有面向过程和面向对象。python是同时支持面向过程和面向对象的编程语言。分类1.面向过程它是一种编程思想, 强调的是以 步骤(过程) 为基础完成各种操作。2.面向对象它是一种…

2026/7/13 16:37:40阅读更多 →
Kimi-K2.6-NVFP4:AMD优化多模态大模型完全指南

Kimi-K2.6-NVFP4:AMD优化多模态大模型完全指南

Kimi-K2.6-NVFP4:AMD优化多模态大模型完全指南 【免费下载链接】Kimi-K2.6-NVFP4 项目地址: https://ai.gitcode.com/hf_mirrors/amd/Kimi-K2.6-NVFP4 Kimi-K2.6-NVFP4是基于Kimi-K2.6模型优化的AMD专用多模态大模型,通过NVFP4量化技术实现高效推…

2026/7/13 16:37:40阅读更多 →
Python进阶实战:Pickle模块dump()与load()在机器学习模型持久化中的应用

Python进阶实战:Pickle模块dump()与load()在机器学习模型持久化中的应用

1. 为什么需要模型持久化?在机器学习项目中,训练一个模型往往需要花费数小时甚至数天时间。想象一下,你刚刚用10万条数据训练出一个准确率达到95%的随机森林分类器,如果每次运行程序都要重新训练,那简直是灾难。这时候…

2026/7/13 16:32:40阅读更多 →
VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异当你在VSCode中启动一个新的TypeScript项目时,第一个技术决策往往从安装方式开始。这个看似简单的选择——全局安装还是项目本地安装——实际上会深刻影响你的开发流程、团队协作和…

2026/7/13 4:47:19阅读更多 →
智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 智慧树刷课插件是一款专为智慧树在线教育平台设计的Chrome浏…

2026/7/13 0:50:34阅读更多 →
Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否在GOG或Epic Games Store购买了心仪的游戏…

2026/7/13 4:52:09阅读更多 →
卡梅德生物技术快报|蛋白质分离纯化:肠激酶可溶性原核表达 + 两步层析全参数|标准化蛋白质分离纯化 SOP

卡梅德生物技术快报|蛋白质分离纯化:肠激酶可溶性原核表达 + 两步层析全参数|标准化蛋白质分离纯化 SOP

研究痛点提出(提出问题)重组肠激酶是融合标签切除核心工具酶,当前原核表达体系存在三大标准化难题,直接阻碍可复现的蛋白质分离纯化流程搭建:Trx、GST、单 SUMO 标签融合产物绝大多数为包涵体,沉淀占比超 9…

2026/7/13 0:04:58阅读更多 →
语音转文字工具AsrTools:让音频整理变得简单高效

语音转文字工具AsrTools:让音频整理变得简单高效

语音转文字工具AsrTools:让音频整理变得简单高效 【免费下载链接】AsrTools ✨ AsrTools: Smart Voice-to-Text Tool | Efficient Batch Processing | User-Friendly Interface | No GPU Required | Supports SRT/TXT Output | Turn your audio into accurate text …

2026/7/13 0:04:58阅读更多 →
Palworld存档编辑完全掌握:从零开始实现游戏数据可视化修改

Palworld存档编辑完全掌握:从零开始实现游戏数据可视化修改

Palworld存档编辑完全掌握:从零开始实现游戏数据可视化修改 【免费下载链接】palworld-save-tools Tools for converting Palworld .sav files to JSON and back 项目地址: https://gitcode.com/gh_mirrors/pa/palworld-save-tools 你是否曾经想要调整Palwor…

2026/7/13 0:04:58阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/13 4:21:17阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/13 4:08:53阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/12 21:43:43阅读更多 →