关注【索引目录】服务号,更多精彩内容等你来探索!
你有没有想过,你的终端看起来像个科幻控制面板?我就是。所以,我构建了一个基于 Python 的 CLI 仪表盘,用来显示系统状态和任务——说实话,它看起来真酷 。
您所需要的只是 Python 和一些强大的库:rich、pyfiglet 和 psutil。
(想象一下,它在黑暗的房间里发光,你喝着咖啡,假装自己身处黑客电影中 )
技术栈<br/>rich:用于漂亮的布局、表格、面板和颜色<br/>pyfiglet:用于 ASCII 艺术标题<br/>psutil:用于提取系统级数据
Python 的platform、datetime和console.clear()魔法
功能
系统信息面板
在彩色表格中显示您的操作系统、处理器、机器类型和启动时间。
任务跟踪器
用于跟踪当前操作(如模型训练、同步作业等)的可视化表格。
✨ 漂亮的布局
得益于rich.layout,仪表板分为整齐的部分:页眉、正文(左和右)和页脚。
Nerdy Footer Message
因为我们都需要一点“所有系统正常运行 ”的动力。
代码:
import pyfiglet
from rich.console import Console
from rich.table import Table
from rich.panel import Panel
from rich.layout import Layout
from rich.text import Text
import psutil
import platform
from datetime import datetime
# Initialize console
console = Console()
layout = Layout()
# Layout structure
layout.split(
Layout(name="header", size=3),
Layout(name="body", ratio=2),
Layout(name="footer", size=3),
)
layout["body"].split_row(
Layout(name="left"),
Layout(name="right"),
)
# ---------- HEADER ----------
ascii_banner = pyfiglet.figlet_format("CLI Dashboard", font="slant")
layout["header"].update(Panel(Text(ascii_banner, justify="center"), style="bold cyan"))
# ---------- LEFT: SYSTEM STATS ----------
def get_system_stats():
uname = platform.uname()
boot_time = datetime.fromtimestamp(psutil.boot_time()).strftime("%Y-%m-%d %H:%M:%S")
stats = Table(title=" System Information", title_style="bold magenta")
stats.add_column("Property", style="cyan", no_wrap=True)
stats.add_column("Value", style="green")
stats.add_row("System", uname.system)
stats.add_row("Node Name", uname.node)
stats.add_row("Release", uname.release)
stats.add_row("Version", uname.version)
stats.add_row("Machine", uname.machine)
stats.add_row("Processor", uname.processor)
stats.add_row("Boot Time", boot_time)
return stats
layout["left"].update(get_system_stats())
# ---------- RIGHT: TASK TABLE ----------
task_table = Table(title=" Tasks", title_style="bold magenta")
task_table.add_column("Task", style="cyan", no_wrap=True)
task_table.add_column("Status", style="green")
task_table.add_column("Progress", justify="right", style="yellow")
task_table.add_row("Data Sync", "✅ Complete", "100%")
task_table.add_row("Model Training", "⚙️ Running", "76%")
task_table.add_row("Report Generation", "⏳ Pending", "0%")
layout["right"].update(task_table)
# ---------- FOOTER ----------
footer_panel = Panel("[bold cyan]All systems operational. \nGenerated by your Python CLI dashboard.[/bold cyan]",
title="Status", border_style="blue")
layout["footer"].update(footer_panel)
# ---------- DISPLAY ----------
console.clear()
console.print(layout)
输出:
抱歉,开发人员无法分享输出,因为它包含有关我的机器的一些敏感信息。
您可以随意复制、自定义和扩展它。比如添加内存使用情况统计信息?集成 API?或者添加动画进度条?
演示
想看看实际效果吗?
只需运行:
pip install rich pyfiglet psutil
python dashboard.py
我为什么要构建这个?
说实话,因为终端里的仪表盘很令人满意。
此外,这是一种有趣的方式:
练习丰富的布局技巧。
展示 Python 打造精美 CLI 工具的能力。
以有趣、轻量、可视化的方式跟踪任务。
快来交流吧!
如果你觉得这个有用,就点个 或者留言!
我很想看看你如何把它扩展成你自己的版本。
关注【索引目录】服务号,更多精彩内容等你来探索!

