当前位置:首页>python>tqdm:Python 生态中最流行的进度条库,从入门到精通

tqdm:Python 生态中最流行的进度条库,从入门到精通

  • 2026-06-30 05:52:37
tqdm:Python 生态中最流行的进度条库,从入门到精通

tqdm 是 Python 生态中最流行的进度条库,名字源自阿拉伯语 **"taqaddum"**(تقدّم),意为"进步"或"进展"。它的发音近似 "tee-ku-dum",在中文社区常被戏称为"太酷的姆"。

tqdm 会显示一条美观、实时更新的进度条,它能告诉我们:

  • 已完成多少45/100
  • 完成了多少百分比45%
  • 已经耗时多久[00:05]
  • 预计还要多久<00:06](ETA,Estimated Time of Arrival)
  • 处理速度8.88it/s(每秒处理多少项)

此外,tqdm 还能在进度条尾部显示自定义的实时数据(如损失值、准确率等),让它从"进度指示器"升级为"实时监控面板"。

tqdm 的优势

优势
说明
极简 API
大多数场景只需 for i in tqdm(range(100)): 一行代码
性能开销小
每帧刷新仅增加微秒级延迟,对总任务时间几乎无影响
自动计算 ETA
基于历史完成速度智能预测剩余时间
智能自适应
自动适配终端宽度,支持颜色、单位缩放、平滑显示
生态集成广泛
原生支持 Pandas、Keras、PyTorch、Dask、Joblib 等主流框架
跨平台
同时支持 Linux、macOS、Windows,在 Jupyter 中也有专属美化版本

tqdm 的典型输出效果

当在终端运行一个带有 tqdm 的循环时,会看到类似这样的动态进度条:

from tqdm import tqdmimport timefor i in tqdm(range(100)):    time.sleep(0.02)

输出效果:

100%|███████████████████████████████| 100/100 [00:02<00:00, 49.98it/s]

如果添加了 desc 和 set_postfix,会变成:

训练 Epoch 5:  78%|████████████▎    | 78/100 [00:01<00:00, 52.31it/s, loss=0.0032, acc=0.981]

安装

tqdm 是第三方库,首先需要通过 pip 安装:

pip install tqdm

如果使用 Conda 环境,安装命令如下:

conda install -c conda-forge tqdm

选择提示

  • 普通终端/脚本:直接使用 from tqdm import tqdm
  • Jupyter Notebook:推荐使用 from tqdm.notebook import tqdm,进度条更美观
  • 自动适配:最新版本支持 from tqdm.autonotebook import tqdm,可自动检测运行环境

基础用法——装饰可迭代对象

这是 tqdm 经典、最简单的用法。只需用 tqdm() 包裹可迭代对象:

from tqdm import tqdmimport time# 基本用法:包裹 rangefor i in tqdm(range(100)):    time.sleep(0.01)  # 模拟耗时任务

运行后会看到类似这样的进度条:

100%|██████████| 100/100 [00:01<00:00, 99.85it/s]

快捷方式trange 是 tqdm(range()) 的缩写:

from tqdm import trangefor i in trange(100):    time.sleep(0.01)

适用于任何可迭代对象:列表、元组、字典、文件、生成器都可以:

# 处理列表for item in tqdm(["a""b""c""d"]):    time.sleep(0.1)# 处理文件行with open('large_file.txt''r'as f:for line in tqdm(f, total=1000):  # total 指定总行数        process_line(line)

手动控制进度——应对非标准循环

当进度不是均匀的,或无法直接用可迭代对象表示时,可以手动控制进度条更新。

场景:从 API 分页获取数据,每页数据量不确定。

from tqdm import tqdmimport timeimport randomtotal_items = 1000# 预知的大致总数fetched = 0page = 1# 创建进度条对象,指定总数with tqdm(total=total_items, desc="获取数据", unit="条"as pbar:while fetched < total_items:# 模拟 API 调用,每次返回不定量的数据        items_this_page = random.randint(525)        time.sleep(0.1)# 处理数据...        fetched += items_this_page# 手动更新进度条,增加本次获取的数量        pbar.update(items_this_page)        pbar.set_description(f"获取数据 (第{page}页)")        page += 1

提示

  • tqdm(total=...):创建进度条对象,指定总步数
  • pbar.update(n):每次增加 n 个单位进度
  • with 语句会自动在结束时关闭进度条,比手动调用 close() 更安全

让进度条更智能、更美观

常用自定义参数

from tqdm import tqdmimport timefor i in tqdm(    range(1000),     desc="训练模型",        # 左侧描述文字    ncols=80,               # 固定宽度(字符数)    colour="green",         # 颜色:'green', 'cyan', 'red', 'yellow'    unit="样本",            # 单位名称    unit_scale=True,        # 自动缩放单位(如 1000 -> 1k)    leave=True,             # 完成后保留进度条    mininterval=0.5,        # 最小刷新间隔(秒)):    time.sleep(0.001)

效果预览:

训练模型: 100%|████████████████| 1000/1000 [00:01<00:00, 998.00样本/s]

动态更新描述和附加信息

在循环中实时显示关键指标(如损失值、处理速度),让进度条变成"仪表盘":

from tqdm import tqdmimport timepbar = tqdm(range(100), desc="训练中")for i in pbar:    time.sleep(0.02)# 方式1:通过 set_description 更新描述    pbar.set_description(f"训练中 (epoch {i//10})")# 方式2:通过 set_postfix 在尾部显示附加信息    loss = 1.0 / (i + 1)    accuracy = min(0.9, i / 100)    pbar.set_postfix({'loss'f'{loss:.4f}''acc'f'{accuracy:.3f}'})

进度条会变成这样:

训练中 (epoch 5):  45%|████▌     | 45/100 [00:00<00:01, 49.92it/s, loss=0.0217, acc=0.450]

延迟显示——短任务不刷屏

对于执行很快的循环,可以设置延迟时间,只有超过该时长才显示进度条:

from tqdm import tqdmimport time# 任务执行 0.5 秒,低于 delay=1,不显示进度条for i in tqdm(range(50), delay=1):    time.sleep(0.01)  # 总共 0.5 秒

嵌套循环——多层进度同时显示

tqdm 支持多层进度条,适用于网格搜索、模拟等场景:

from tqdm import tqdmimport timefor i in tqdm(range(3), desc="外层", position=0):for j in tqdm(range(50), desc="内层", position=1, leave=False):        time.sleep(0.01)

关键参数

  • position:指定进度条在终端中的行位置(从0开始)
  • leave=False:内层进度完成后自动消失,避免输出混乱

与数据处理库集成

Pandas

tqdm 对 Pandas 有原生支持,只需一行启用:

import pandas as pdfrom tqdm import tqdm# 启用 tqdm 的 pandas 集成tqdm.pandas()df = pd.DataFrame({'a': range(1000)})# 使用 progress_apply 替代 apply,自动显示进度df['b'] = df['a'].progress_apply(lambda x: x ** 2)

并发编程——concurrent.futures

与线程池/进程池结合,跟踪并行任务的完成情况:

import concurrent.futuresfrom tqdm import tqdmimport timedeftask(n):    time.sleep(0.1)return n * nnumbers = list(range(100))with concurrent.futures.ThreadPoolExecutor(max_workers=4as executor:# executor.map 返回的结果列表用 tqdm 包装    results = list(tqdm(executor.map(task, numbers), total=len(numbers)))

Joblib

如果使用 Joblib 做并行计算,官方文档提供了多种集成方案。最简单的是使用 return_as="generator_unordered",进度条会随着任务完成而平滑更新:

from joblib import Parallel, delayedfrom tqdm import tqdmdeftask(t):    time.sleep(0.1 * t)return ttimes = [7235641]p = Parallel(n_jobs=2, return_as="generator_unordered")out = p(delayed(task)(t) for t in times)results = list(tqdm(out, total=len(times)))

案例——文件夹大小统计

以下是一个实际项目中的案例,展示了如何从"卡顿无反馈"优化为"进度实时可见"。

问题:统计包含数万个子文件夹的目录大小时,传统 os.walk 先收集所有文件路径再计算,收集过程耗时且无进度显示。

方案:分层遍历 + tqdm 显示进度。

import osfrom tqdm import tqdmdefget_folder_size(folder_path):"""计算文件夹总大小,并显示进度条"""ifnot os.path.exists(folder_path):return0# 获取第一级子文件夹    first_level_dirs = []    total_size = 0for item in os.listdir(folder_path):        item_path = os.path.join(folder_path, item)if os.path.isfile(item_path):            total_size += os.path.getsize(item_path)elif os.path.isdir(item_path):            first_level_dirs.append(item_path)ifnot first_level_dirs:return total_size# 用 tqdm 遍历第一级文件夹,每个内部再递归计算    pbar = tqdm(first_level_dirs, desc="处理中", unit="个文件夹")for dir_path in pbar:# 计算子文件夹大小        sub_size = calculate_dir_size(dir_path)        total_size += sub_size# 动态更新描述,显示当前累计大小        pbar.set_description(f"累计: {format_size(total_size)}")return total_sizedefcalculate_dir_size(directory):"""递归计算单个目录的大小"""    total = 0for root, dirs, files in os.walk(directory):for file in files:            file_path = os.path.join(root, file)try:                total += os.path.getsize(file_path)except OSError:continuereturn totaldefformat_size(size_bytes):    units = ['B''KB''MB''GB''TB']    size = size_bytes    idx = 0while size >= 1024and idx < len(units) - 1:        size /= 1024        idx += 1returnf"{size:.2f}{units[idx]}"

tqdm 用法归纳

  1. 装饰可迭代对象是最常用的方式,一行代码搞定 80% 场景
  2. 手动控制 适用于非标准循环、分页请求、批量处理
  3. 动态信息更新set_description / set_postfix)让进度条变成实时仪表盘
  4. 嵌套循环 用 position 和 leave=False 保持输出整洁
  5. 集成工具:Pandas、Joblib、concurrent.futures 都有成熟的配合方案


作者简介:码上工坊,探索用编程为己赋能,定期分享编程知识和项目实战经验。持续学习、适应变化、记录点滴、复盘反思、成长进步。

重要提示:本文主要是记录自己的学习与实践过程,所提内容或者观点仅代表个人意见,只是我以为的,不代表完全正确,欢迎交流讨论。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-03 02:20:06 HTTP/2.0 GET : https://f.mffb.com.cn/a/501610.html
  2. 运行时间 : 0.309809s [ 吞吐率:3.23req/s ] 内存消耗:4,710.55kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=cae88c9f52e21cfe0d1ed106ff2e32f4
  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.000615s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000600s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000335s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.002984s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000640s ]
  6. SELECT * FROM `set` [ RunTime:0.016936s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000912s ]
  8. SELECT * FROM `article` WHERE `id` = 501610 LIMIT 1 [ RunTime:0.046587s ]
  9. UPDATE `article` SET `lasttime` = 1783016406 WHERE `id` = 501610 [ RunTime:0.012554s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000322s ]
  11. SELECT * FROM `article` WHERE `id` < 501610 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.036992s ]
  12. SELECT * FROM `article` WHERE `id` > 501610 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.039418s ]
  13. SELECT * FROM `article` WHERE `id` < 501610 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.021323s ]
  14. SELECT * FROM `article` WHERE `id` < 501610 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.011670s ]
  15. SELECT * FROM `article` WHERE `id` < 501610 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.046129s ]
0.311572s