当前位置:首页>python>告别单调黑白:用Python的rich库打造炫酷命令行应用

告别单调黑白:用Python的rich库打造炫酷命令行应用

  • 2026-02-05 00:39:13
告别单调黑白:用Python的rich库打造炫酷命令行应用

大家好,我是何三,独立开发者。

今天咱们来聊聊一个能让你的Python命令行程序“颜值”飙升的神器——Rich库。如果你还在忍受着终端里单调的黑白文字,或者被复杂的日志输出搞得眼花缭乱,那么Rich可能就是你的“救星”。

Rich 到底是啥?

简单说,Rich 是一个 Python 库,专门用来在终端(命令行)里输出漂亮的、带格式的文本和界面。

你可以把它想象成给黑白电视装上彩色显示屏,还能加字幕、画表格、搞进度条的那种“魔法盒子”。它让那些原本只能在GUI(图形界面)里才能实现的漂亮效果,在命令行里也能轻松搞定。

为什么需要 Rich?

你可能会问:print() 函数用得好好的,为啥要折腾这个?

问得好!这就好比吃饭:用碗筷也能吃饱,但用一套精致的餐具,吃饭的心情和体验会完全不一样。Rich 带来的价值主要体现在:

  1. 可读性爆炸式提升
    :通过颜色、高亮、对齐等方式,让重要信息一目了然。
  2. 调试体验质的飞跃
    :打印复杂数据结构(如字典、列表)时,格式清晰,层次分明。
  3. 专业感瞬间拉满
    :给你的命令行工具加上进度条、状态指示器、表格等元素,立马显得高大上。
  4. 开发效率提高
    :很多原本需要自己费力实现的格式化输出,Rich 已经封装好了,直接调用就行。

上手体验:从安装到“哇塞”

第一步:安装

打开你的终端,一行命令搞定:

uv add rich

第二步:最简单的“Hello, Rich!”

让我们从一个最简单的例子开始,感受一下Rich的魔力:

from rich importprint

# 普通的 print
print("Hello, World!")

# Rich 的 print - 支持 Markdown 风格的语法!
print("[bold red]Hello[/bold red], [italic blue]Rich[/italic blue]!")
print("[underline green]这行字是绿色的下划线[/underline green]")
print("[yellow on black]黄字黑底,够醒目吧?[/yellow on black]")

运行一下,你会看到终端里出现了粗体、红色、斜体、蓝色、下划线、绿字、黄字黑底等各种样式的文字!而这一切,只需要用 [标签]文字[/标签] 这样的简单语法。

Rich 内置了一套类似 Markdown 的标签系统,让你可以轻松地给文字加样式。

核心功能实战

1. 漂亮的表格(Tables)

还在用一堆空格和竖线手动对齐表格吗?Rich 让你彻底解放:

from rich.console import Console
from rich.table import Table

console = Console()

table = Table(title="明星编程语言排行榜")

# 添加列
table.add_column("排名", justify="right", style="cyan", no_wrap=True)
table.add_column("语言", style="magenta")
table.add_column("流行度", justify="right", style="green")

# 添加行
table.add_row("1""Python""⭐️⭐️⭐️⭐️⭐️")
table.add_row("2""JavaScript""⭐️⭐️⭐️⭐️☆")
table.add_row("3""Java""⭐️⭐️⭐️☆☆")
table.add_row("4""Go""⭐️⭐️☆☆☆")
table.add_row("5""Rust""⭐️☆☆☆☆")

console.print(table)

运行这段代码,你会看到一个带标题、有颜色、对齐完美的表格自动呈现在终端里。justify 参数控制对齐方式,style 控制颜色,no_wrap 防止文字换行——一切都如此简单直观。

2. 进度条(Progress Bars)

处理长时间任务时,给用户一个进度反馈是基本礼仪。Rich 的进度条既美观又强大:

from rich.progress import track
import time

# 模拟一个耗时任务
for step in track(range(100), description="正在处理..."):
    time.sleep(0.05)  # 模拟工作
# 这里可以是你实际的任务代码

print("[bold green]✅ 任务完成![/bold green]")

更高级的用法,可以显示进度百分比、剩余时间、速度等信息:

from rich.progress import Progress
import time

with Progress() as progress:
    task1 = progress.add_task("[red]下载文件...", total=100)
    task2 = progress.add_task("[green]处理数据...", total=200)

whilenot progress.finished:
        progress.update(task1, advance=0.5)
        progress.update(task2, advance=1)
        time.sleep(0.02)

3. 语法高亮(Syntax Highlighting)

如果你需要在终端里展示代码,Rich 可以帮你自动高亮:

from rich.console import Console
from rich.syntax import Syntax

python_code = '''
def greet(name):
    """一个简单的问候函数"""
    return f"Hello, {name}!"

# 使用函数
print(greet("World"))
'''


console = Console()
syntax = Syntax(python_code, "python", theme="monokai", line_numbers=True)
console.print(syntax)

支持多种语言和主题,让你的代码在终端里也能像在IDE中一样漂亮。

4. 树状结构(Tree)

展示文件目录结构或者层次化数据时,树状视图非常直观:

from rich.tree import Tree
from rich importprintas rprint

# 创建一个根节点
tree = Tree("[bold blue]我的项目")

# 添加分支
backend = tree.add("[green]backend")
backend.add("[yellow]app.py")
backend.add("[yellow]models.py")

frontend = tree.add("[magenta]frontend")
components = frontend.add("[cyan]components")
components.add("Button.vue")
components.add("Modal.vue")
frontend.add("[cyan]App.vue")

config = tree.add("[red]config")
config.add("settings.ini")
config.add("database.yml")

rprint(tree)

5. 面板与布局(Panels & Layout)

想要更复杂的界面布局?Rich 也能满足:

from rich.console import Console
from rich.panel import Panel
from rich.layout import Layout
from rich.text import Text

console = Console()

# 创建一个布局
layout = Layout()

# 分割布局
layout.split(
    Layout(name="header", size=3),
    Layout(name="main", ratio=2),
    Layout(name="footer", size=3),
)

# 进一步分割主区域
layout["main"].split_row(
    Layout(name="left", ratio=1),
    Layout(name="right", ratio=2),
)

# 给各个区域添加内容
layout["header"].update(Panel("[bold blue]我的命令行仪表板[/bold blue]", style="white on blue"))
layout["left"].update(Panel("左侧菜单\n• 选项1\n• 选项2\n• 选项3", title="菜单"))
layout["right"].update(Panel("这里是主要内容区域\n\n你可以在这里显示各种信息\n比如日志、数据统计等", title="主内容"))
layout["footer"].update(Panel("[dim]状态: 运行中 | 时间: 2024-01-01 12:00:00[/dim]", style="dim"))

console.print(layout)

高级技巧与最佳实践

1. 创建全局 Console 对象

建议在项目中创建一个全局的 Console 对象,方便统一管理输出:

# 在 utils.py 或类似文件中
from rich.console import Console

console = Console()

# 然后在其他地方导入使用
# from utils import console
# console.print("这是一条信息")
# console.log("这是一条带时间戳的日志")

2. 条件化输出

Rich 的 Console 对象可以检测终端的能力,自动降级输出:

from rich.console import Console

console = Console()

# 只有在终端支持颜色时才输出彩色
if console.is_terminal:
    console.print("[bold green]终端支持彩色![/bold green]")
else:
    console.print("终端不支持彩色")

3. 自定义主题

你可以定义自己的颜色主题,保持整个应用风格一致:

from rich.console import Console
from rich.theme import Theme

custom_theme = Theme({
"info""dim cyan",
"warning""magenta",
"error""bold red",
"success""bold green",
"highlight""yellow on black",
})

console = Console(theme=custom_theme)

console.print("这是一条普通信息", style="info")
console.print("警告!", style="warning")
console.print("错误发生!", style="error")
console.print("任务成功!", style="success")
console.print("需要特别注意这里", style="highlight")

4. 与日志模块集成

Rich 可以和 Python 标准的 logging 模块完美集成:

import logging
from rich.logging import RichHandler

# 设置 Rich 作为日志处理器
logging.basicConfig(
    level="NOTSET",
format="%(message)s",
    datefmt="[%X]",
    handlers=[RichHandler(rich_tracebacks=True)]
)

log = logging.getLogger("rich")

# 现在你的日志就是彩色的了!
log.debug("这是一条调试信息")
log.info("这是一条普通信息")
log.warning("这是一条警告")
log.error("这是一条错误")
log.critical("这是一条严重错误")

它适合谁?

  • 命令行工具开发者
    :想让你的工具看起来更专业、更友好。
  • 数据分析师/科学家
    :在终端里查看数据时,格式化的表格和输出能大幅提升效率。
  • 系统管理员/DevOps
    :监控脚本、部署工具的输出需要清晰易读。
  • 任何 Python 开发者
    :调试代码时,漂亮的输出能让你更快定位问题。

一些思考

Rich 的出现,反映了一个趋势:用户体验不再只是 GUI 应用的专利,命令行工具同样需要良好的交互设计。

在开源社区,我们经常看到一些“用爱发电”的项目,它们功能强大但界面简陋。而 Rich 这样的工具,让开发者能够以极小的成本,大幅提升工具的使用体验。这不仅仅是“颜值”问题,更是关于效率、可维护性和专业性。

好的工具应该让用户专注于解决问题,而不是费力理解工具本身的输出。 Rich 正是在这一点上做得非常出色。

最后

Rich 库的功能远不止本文介绍的这些,还有状态指示器、分栏、Markdown 渲染、回溯信息美化等等。官方文档非常详细,而且有很多生动的示例。

如果你已经厌倦了黑白单调的终端输出,不妨现在就去试试 Rich。相信用不了多久,你就会像我现在一样,再也回不去那个没有 Rich 的世界了。

项目地址:https://github.com/Textualize/rich


我是何三,一个喜欢让命令行也“好看”的独立开发者。如果这篇文章对你有帮助,欢迎分享给你的朋友。我们下期再见!

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-02-07 13:34:47 HTTP/2.0 GET : https://f.mffb.com.cn/a/473064.html
  2. 运行时间 : 0.147498s [ 吞吐率:6.78req/s ] 内存消耗:5,026.73kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=b1437eb631dfccbc7141ccb072f6f57a
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000728s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001069s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000441s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000424s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000810s ]
  6. SELECT * FROM `set` [ RunTime:0.000351s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000896s ]
  8. SELECT * FROM `article` WHERE `id` = 473064 LIMIT 1 [ RunTime:0.005689s ]
  9. UPDATE `article` SET `lasttime` = 1770442487 WHERE `id` = 473064 [ RunTime:0.018592s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.007867s ]
  11. SELECT * FROM `article` WHERE `id` < 473064 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.010752s ]
  12. SELECT * FROM `article` WHERE `id` > 473064 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.016476s ]
  13. SELECT * FROM `article` WHERE `id` < 473064 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.004331s ]
  14. SELECT * FROM `article` WHERE `id` < 473064 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001155s ]
  15. SELECT * FROM `article` WHERE `id` < 473064 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.001803s ]
0.149072s