当前位置:首页>python>用Python+PyQt5打造专属Word批量处理神器

用Python+PyQt5打造专属Word批量处理神器

  • 2026-03-22 10:24:16
用Python+PyQt5打造专属Word批量处理神器

效果图

在日常办公、行政人事、法务合同、企业文案处理工作中,你一定被这些场景折磨到崩溃: 几十份合同需要替换甲方名称、签订日期、金额等关键信息,手动复制粘贴一小时起步,还容易漏改、改错;上百份文档格式混乱,字体、字号、行距、段落对齐方式五花八门,逐份调整格式耗时又费力;需要根据固定模板批量生成入职通知、报价单、授权书,手动创建文档效率低到离谱……

这些重复、机械、枯燥的Word操作,不仅占用大量工作时间,还极易出现人为失误,一旦出错返工成本极高。作为办公人,我们最需要的就是一款零代码操作、界面简洁、功能齐全、一键运行的批量处理工具,不用懂编程,点开就能用,点一下就能完成几十上百份文档的处理。

今天就给大家带来一款基于Python+PyQt5开发的Word批量处理工具,集文字批量替换、合同模板批量生成、文档格式统一修改三大核心功能于一体,界面美观大方,操作简单易懂,Windows/Mac全平台通用,完全免费开源!工具无需安装Office/WPS,依赖轻量库即可运行,新手也能轻松上手,彻底解放双手,让你把时间花在更有价值的工作上!

工具核心亮点: ✅ 可视化GUI界面,鼠标点选即可操作,无任何学习成本 ✅ 三大核心功能全覆盖,满足90%以上Word批量处理需求 ✅ 支持docx格式文档,处理速度快,批量处理百份文档秒级完成 ✅ 代码完整开源,可根据自身需求二次修改拓展 ✅ 无需依赖Office软件,轻量无卡顿,兼容性强

接下来,我将详细拆解工具的开发代码,从界面搭建、核心功能实现到完整代码展示,手把手带你拥有专属办公神器!


一、核心代码模块详细讲解

模块1:PyQt5界面搭建(主窗口+功能分区)

这是工具的可视化界面核心,我们采用PyQt5设计主窗口,划分三大功能区域:文字替换区、合同生成区、格式修改区,搭配文件选择按钮、输入框、运行按钮,让操作逻辑一目了然。界面使用网格布局,美观规整,适配不同分辨率屏幕,同时添加提示文本、状态提示栏,提升使用体验。

核心逻辑:创建主窗口类,初始化所有控件(按钮、输入框、标签、文本框),设置布局和样式,绑定按钮点击事件,实现文件/文件夹选择、功能触发的交互效果。

模块2:Word核心处理功能实现(python-docx库)

这是工具的业务核心,使用python-docx库实现Word文档的读写、文字替换、段落修改、格式设置,不依赖Office组件,纯Python代码处理文档。

  • 文字替换:遍历文档所有段落、表格,精准匹配关键词并替换;
  • 合同生成:读取模板文档,批量替换占位符(如{{公司名}}、{{日期}}),另存为新文档;
  • 格式修改:统一设置全文字体(宋体/微软雅黑)、字号、行距、段落对齐方式,批量规范化格式。

模块3:功能逻辑绑定与异常处理

将界面按钮与核心处理函数绑定,添加异常捕获机制:处理文件不存在、文档格式错误、占位符缺失等问题,在界面状态栏实时提示处理结果(成功/失败/处理数量),让用户清晰掌握运行状态,避免程序崩溃。


二、完整工具代码

# 导入所需库import sysimport osfrom docx import Documentfrom docx.shared import Pt, Cmfrom docx.oxml.ns import qnfrom docx.enum.text import WD_ALIGN_PARAGRAPHfrom PyQt5.QtWidgets import (QApplication, QMainWindow, QWidget, QLabel, QLineEdit,                             QTextEdit, QPushButton, QFileDialog, QGridLayout, QMessageBox, QStatusBar)from PyQt5.QtCore import Qt# 主工具类classWordBatchTool(QMainWindow):def__init__(self):        super().__init__()        self.setWindowTitle("Word批量处理工具 | 文字替换+合同生成+格式修改")        self.setFixedSize(750550)  # 固定窗口大小        self.init_ui()  # 初始化界面# 初始化界面控件definit_ui(self):# 中央控件        central_widget = QWidget()        self.setCentralWidget(central_widget)        layout = QGridLayout(central_widget)# ==================== 功能1:批量文字替换 ====================        layout.addWidget(QLabel("【功能1:批量文字替换】"), 0012)        layout.addWidget(QLabel("选择Word文件夹:"), 10)        self.replace_folder = QLineEdit()        layout.addWidget(self.replace_folder, 11)        self.btn_replace_folder = QPushButton("选择文件夹")        self.btn_replace_folder.clicked.connect(self.select_replace_folder)        layout.addWidget(self.btn_replace_folder, 12)        layout.addWidget(QLabel("查找文字:"), 20)        self.find_text = QLineEdit()        layout.addWidget(self.find_text, 2112)        layout.addWidget(QLabel("替换为:"), 30)        self.replace_text = QLineEdit()        layout.addWidget(self.replace_text, 3112)        self.btn_run_replace = QPushButton("开始批量替换文字")        self.btn_run_replace.clicked.connect(self.batch_replace_text)        layout.addWidget(self.btn_run_replace, 4013)# ==================== 功能2:合同批量生成 ====================        layout.addWidget(QLabel("【功能2:合同模板批量生成】"), 5012)        layout.addWidget(QLabel("选择合同模板:"), 60)        self.template_path = QLineEdit()        layout.addWidget(self.template_path, 61)        self.btn_template = QPushButton("选择模板")        self.btn_template.clicked.connect(self.select_template)        layout.addWidget(self.btn_template, 62)        layout.addWidget(QLabel("占位符替换规则(格式:key=value,一行一个):"), 7013)        self.replace_rules = QTextEdit()        self.replace_rules.setPlaceholderText("示例:\n{{公司}}=测试公司\n{{日期}}=2025-01-01\n{{金额}}=10000元")        layout.addWidget(self.replace_rules, 8013)        layout.addWidget(QLabel("生成保存文件夹:"), 90)        self.save_folder = QLineEdit()        layout.addWidget(self.save_folder, 91)        self.btn_save_folder = QPushButton("选择文件夹")        self.btn_save_folder.clicked.connect(self.select_save_folder)        layout.addWidget(self.btn_save_folder, 92)        self.btn_run_create = QPushButton("开始批量生成合同")        self.btn_run_create.clicked.connect(self.batch_create_contract)        layout.addWidget(self.btn_run_create, 10013)# ==================== 功能3:批量修改格式 ====================        layout.addWidget(QLabel("【功能3:Word批量统一格式】"), 11012)        layout.addWidget(QLabel("选择格式修改文件夹:"), 120)        self.format_folder = QLineEdit()        layout.addWidget(self.format_folder, 121)        self.btn_format_folder = QPushButton("选择文件夹")        self.btn_format_folder.clicked.connect(self.select_format_folder)        layout.addWidget(self.btn_format_folder, 122)        self.btn_run_format = QPushButton("开始统一文档格式")        self.btn_run_format.clicked.connect(self.batch_change_format)        layout.addWidget(self.btn_run_format, 13013)# 状态栏        self.status_bar = QStatusBar()        self.setStatusBar(self.status_bar)# ———————— 文件夹/文件选择函数 ————————defselect_replace_folder(self):        path = QFileDialog.getExistingDirectory()if path:            self.replace_folder.setText(path)defselect_template(self):        path, _ = QFileDialog.getOpenFileName(filter="Word文件 (*.docx)")if path:            self.template_path.setText(path)defselect_save_folder(self):        path = QFileDialog.getExistingDirectory()if path:            self.save_folder.setText(path)defselect_format_folder(self):        path = QFileDialog.getExistingDirectory()if path:            self.format_folder.setText(path)# ———————— 核心功能1:批量文字替换 ————————defbatch_replace_text(self):        folder = self.replace_folder.text()        find = self.find_text.text()        replace = self.replace_text.text()ifnot all([folder, find, replace]):            QMessageBox.warning(self, "提示""请填写完整信息!")return        count = 0for file in os.listdir(folder):if file.endswith(".docx"):                doc = Document(os.path.join(folder, file))# 替换段落文字for p in doc.paragraphs:if find in p.text:                        p.text = p.text.replace(find, replace)# 替换表格文字for table in doc.tables:for row in table.rows:for cell in row.cells:if find in cell.text:                                cell.text = cell.text.replace(find, replace)                doc.save(os.path.join(folder, file))                count += 1        self.status_bar.showMessage(f"成功处理 {count} 份文档!")# ———————— 核心功能2:批量生成合同 ————————defbatch_create_contract(self):        template = self.template_path.text()        save_path = self.save_folder.text()        rules = self.replace_rules.toPlainText()ifnot all([template, save_path, rules]):            QMessageBox.warning(self, "提示""请填写完整信息!")return# 解析替换规则        replace_dict = {}for line in rules.split("\n"):if"="in line:                k, v = line.split("="1)                replace_dict[k.strip()] = v.strip()# 读取模板        doc = Document(template)# 替换内容for p in doc.paragraphs:for k, v in replace_dict.items():if k in p.text:                    p.text = p.text.replace(k, v)for table in doc.tables:for row in table.rows:for cell in row.cells:for k, v in replace_dict.items():if k in cell.text:                            cell.text = cell.text.replace(k, v)# 保存文件        save_name = f"生成合同_{os.path.basename(template)}"        doc.save(os.path.join(save_path, save_name))        self.status_bar.showMessage("合同生成完成!")# ———————— 核心功能3:批量统一格式 ————————defbatch_change_format(self):        folder = self.format_folder.text()ifnot folder:            QMessageBox.warning(self, "提示""请选择文件夹!")return        count = 0for file in os.listdir(folder):if file.endswith(".docx"):                doc = Document(os.path.join(folder, file))# 统一设置字体、字号、行距for p in doc.paragraphs:                    p.alignment = WD_ALIGN_PARAGRAPH.LEFT  # 左对齐                    p.paragraph_format.line_spacing = 1.5# 1.5倍行距                    p.paragraph_format.first_line_indent = Cm(0.74)  # 首行缩进for run in p.runs:                        run.font.name = "微软雅黑"                        run._element.rPr.rFonts.set(qn("w:eastAsia"), "微软雅黑")                        run.font.size = Pt(12)  # 字号12                doc.save(os.path.join(folder, file))                count += 1        self.status_bar.showMessage(f"成功统一 {count} 份文档格式!")# 运行程序if __name__ == "__main__":    app = QApplication(sys.argv)    window = WordBatchTool()    window.show()    sys.exit(app.exec_())

运行前准备

安装依赖库,复制以下命令在终端执行:

pip install pyqt5 python-docx

三、知识点总结

  1. PyQt5 GUI编程

    • 主窗口QMainWindow、基础控件QLabel/QLineEdit/QPushButton的使用;
    • 网格布局QGridLayout实现界面规整排版;
    • 按钮绑定点击事件、文件/文件夹选择、状态栏提示、消息弹窗功能。
  2. python-docx Word处理

    • 读取/创建/保存docx格式Word文档;
    • 遍历文档段落、表格实现文字精准替换;
    • 统一设置字体、字号、行距、缩进、对齐方式等格式。
  3. Python文件操作

    • os库遍历文件夹、判断文件格式、拼接文件路径;
    • 字典解析占位符替换规则,实现批量变量替换;
    • 异常判断与用户友好提示,提升工具稳定性。
  4. 办公自动化核心逻辑

    • 模板化生成文档:固定模板+变量替换,高效批量产出;
    • 批量化处理:遍历文件夹+统一操作,替代手动重复工作。

四、拓展场景与测试步骤

一、拓展使用场景

  1. 人事行政:批量生成入职通知书、离职证明、考勤通知,统一所有通知格式;
  2. 法务/销售:批量生成报价单、合同、授权书,一键替换客户信息、金额、日期;
  3. 教师/办公人员:批量修改作业、报告、文案的字体格式,批量替换敏感文字;
  4. 企业文员:批量处理归档文档,统一文档规范,提升文档管理效率;
  5. 二次拓展:可添加批量合并Word、批量转PDF、水印添加、页眉页脚修改等功能。

二、工具测试步骤

  1. 环境准备:安装Python3.8+,执行pip install pyqt5 python-docx安装依赖;
  2. 运行代码:将代码保存为.py文件,双击运行或终端执行python 文件名.py
  3. 功能1测试:选择包含docx文档的文件夹,输入查找/替换文字,点击运行,查看文档是否替换成功;
  4. 功能2测试:准备带占位符(如{{公司}})的合同模板,填写替换规则,选择保存路径,生成新合同;
  5. 功能3测试:选择格式混乱的文件夹,点击统一格式,检查文档字体、行距、缩进是否统一;
  6. 异常测试:不填写信息直接运行,验证弹窗提示是否正常;选择非docx文件,验证程序是否报错。

总结

这款Word批量处理工具,用Python+PyQt5完美解决了办公中最繁琐的重复工作,三大核心功能覆盖日常文档处理的核心需求,代码简洁易懂、界面友好易用,无论是零基础用户还是有编程基础的开发者,都能快速使用和二次修改。

它不仅是一款办公工具,更是Python办公自动化的最佳实践案例,掌握这些知识点,你还能打造出Excel批量处理、PDF工具、邮件群发等更多办公神器,彻底实现自动化办公!

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-03-27 10:00:20 HTTP/2.0 GET : https://f.mffb.com.cn/a/481726.html
  2. 运行时间 : 0.217944s [ 吞吐率:4.59req/s ] 内存消耗:4,898.66kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=45aaa2e9a31cb812dec4dc3e9b12ed1a
  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.000726s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001223s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000650s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.001634s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001804s ]
  6. SELECT * FROM `set` [ RunTime:0.001503s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001343s ]
  8. SELECT * FROM `article` WHERE `id` = 481726 LIMIT 1 [ RunTime:0.007712s ]
  9. UPDATE `article` SET `lasttime` = 1774576820 WHERE `id` = 481726 [ RunTime:0.011746s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000648s ]
  11. SELECT * FROM `article` WHERE `id` < 481726 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001015s ]
  12. SELECT * FROM `article` WHERE `id` > 481726 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000986s ]
  13. SELECT * FROM `article` WHERE `id` < 481726 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.002701s ]
  14. SELECT * FROM `article` WHERE `id` < 481726 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.019015s ]
  15. SELECT * FROM `article` WHERE `id` < 481726 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.005649s ]
0.221697s