当前位置:首页>python>《彻底告别手动建文件夹:python智能解析文件名分隔符,自动递归创建层级目录,秒级效率!》

《彻底告别手动建文件夹:python智能解析文件名分隔符,自动递归创建层级目录,秒级效率!》

  • 2026-08-25 07:56:22
《彻底告别手动建文件夹:python智能解析文件名分隔符,自动递归创建层级目录,秒级效率!》

“带你横跨办公自动化的数据江海”

@摸鱼

前言

关于摸鱼

ABOUT MOYU

闻道有先后,术业有专攻。

各位大佬朋友们好!

~我依旧是你们的老朋友摸鱼~

在职场摸爬滚打的这十多年里,我用Python悄悄干了不少“正事”——不知不觉攒下了一整套办公自动化的实用项目技巧。去年10月初创立了公众号 「码海听潮」 ,初衷很简单:把重复的劳动交给代码,把摸鱼的时间留给生活。

目前已经吭哧吭哧更新了140多篇原创文章,每一篇都是实操干货,不讲虚的,只聊怎么用代码真正解放双手,帮大家早点下班、准点摸鱼

《办公需求表述:》

       有一个神秘的根目录文件夹,里面有多个递归的子文件夹和图片文件,图片文件名有统一的命名规律,文件名由多个“-”连字符连接,例如4-1-1-001.bmp、1-1-1-001.bmp、2-1-1-001.bmp...,现在的要求是按"-"连字符分割文件名,依据分割后的层级递归创建文件夹结构,并将图片文件移动到最大层级的文件夹中。以4-1-1-001.bmp这个文件为例,按"-"连字符分割文件名

4为第一层文件夹、4-1为第二层文件夹,4-1-1为第三层文件夹、4-1-1-001.bmp是第三层文件夹的图片文件,要是这种类似的需求你的Big Boss安排你去完成,请问阁下该如何应对?

《该办公问题痛点分析:》

1. 效率低下 ⏰

  • 痛点:手动创建成百上千个文件夹,每个文件都需要单独处理

  • 示例:1000个图片文件,人工需要创建几千个文件夹

  • 影响:浪费大量时间在重复性工作上

2. 容易出错 ❌

  • 痛点:人工操作容易看错文件名、创建错误的文件夹层级

  • 示例:4-1-1 和 4-1-2 容易混淆,可能放错位置

  • 影响:文件错乱,后续查找困难

3.缺乏批量处理能力 📊

  • 痛点:无法同时处理多个文件夹和文件

  • 示例:根目录下有多个子文件夹,需要逐个处理

  • 影响:处理周期长,工作效率低

《该办公问题拆解思路:》

《该办公工具成品展示:》

《该办公工具核心功能亮点:》

01

 亮点一:智能文件名解析引擎🤖

        • 多分隔符支持支持 -、_、. 及自定义分隔符

        • 智能层级识别自动解析文件名中的层级结构

        • 灵活分割规则支持任意深度的文件层级

        02

         亮点二:双模式组织策略📄

            • 简单模式需要清晰独立层级

            • 累积模式需要保留完整路径信息

            03

            亮点三:智能文件筛选🚀

            • 筛选方式:精确匹配、多格式组合、通配符

              《该办公工具代码展示:》

              下面,我就奉上python代码让各位大佬见识一下,什么叫"传统文化"遇上"赛博效率"

              import sysfrom PyQt6.QtWidgets import (QApplication, QMainWindow, QWidget, QVBoxLayout,                              QHBoxLayout, QLabel, QLineEdit, QPushButton,                              QGroupBox, QRadioButton, QComboBox, QTextEdit,                             QFileDialog, QMessageBox)from PyQt6.QtCore import Qt, QThread, pyqtSignalfrom PyQt6.QtGui import QIconclass FileOrganizerGUI(QMainWindow):    def __init__(self):        super().__init__()        self.init_ui()    def init_ui(self):        self.setWindowTitle("文件组织工具 - File Organizer")        self.setFixedSize(750720)        # 设置样式        self.setStyleSheet("""            QMainWindow {                background-color: #f0f2f5;            }            QLabel {                color: #2c3e50;                font-size: 13px;            }            QPushButton {                background-color: #3498db;                color: white;                border: none;                padding: 8px 20px;                border-radius: 6px;                font-size: 13px;                font-weight: bold;            }            QPushButton:hover {                background-color: #2980b9;            }            QPushButton:pressed {                background-color: #21618c;            }            QPushButton:disabled {                background-color: #bdc3c7;                color: #7f8c8d;            }            QLineEdit {                padding: 8px 12px;                border: 2px solid #dcdde1;                border-radius: 6px;                font-size: 13px;                background-color: white;            }            QLineEdit:focus {                border-color: #3498db;            }            QComboBox {                padding: 8px 12px;                border: 2px solid #dcdde1;                border-radius: 6px;                font-size: 13px;                background-color: white;                min-width: 120px;            }            QComboBox:hover {                border-color: #3498db;            }            QTextEdit {                border: 2px solid #dcdde1;                border-radius: 6px;                font-size: 12px;                font-family: 'Consolas', 'Courier New', monospace;                background-color: #fafafa;            }            QGroupBox {                font-weight: bold;                border: 2px solid #dcdde1;                border-radius: 8px;                margin-top: 10px;                padding-top: 10px;                background-color: white;            }            QGroupBox::title {                subcontrol-origin: margin;                left: 10px;                padding: 0 10px 0 10px;                color: #2c3e50;            }            QRadioButton {                font-size: 13px;                color: #2c3e50;                spacing: 8px;            }            QRadioButton::indicator {                width: 18px;                height: 18px;            }        """)        # 中央部件        central_widget = QWidget()        self.setCentralWidget(central_widget)        main_layout = QVBoxLayout()        main_layout.setSpacing(15)        main_layout.setContentsMargins(25252525)        central_widget.setLayout(main_layout)        # 设置区域        settings_group = QGroupBox("设置")        settings_layout = QVBoxLayout()        settings_group.setLayout(settings_layout)        # 根目录选择        root_dir_layout = QHBoxLayout()        root_dir_label = QLabel("📁 根目录:")        root_dir_label.setFixedWidth(80)        root_dir_layout.addWidget(root_dir_label)        self.root_dir_edit = QLineEdit()        self.root_dir_edit.setPlaceholderText("请选择要处理的根目录...")        root_dir_layout.addWidget(self.root_dir_edit)        self.browse_root_btn = QPushButton("浏览...")        self.browse_root_btn.setFixedWidth(100)        self.browse_root_btn.clicked.connect(self.browse_root_directory)        root_dir_layout.addWidget(self.browse_root_btn)        settings_layout.addLayout(root_dir_layout)        # 保存目录选择(独立于根目录)        save_dir_layout = QHBoxLayout()        save_dir_label = QLabel("💾 保存目录:")        save_dir_label.setFixedWidth(80)        save_dir_layout.addWidget(save_dir_label)        self.save_dir_edit = QLineEdit()        self.save_dir_edit.setPlaceholderText("请选择保存组织后文件的目录...")        save_dir_layout.addWidget(self.save_dir_edit)        self.browse_save_btn = QPushButton("浏览...")        self.browse_save_btn.setFixedWidth(100)        self.browse_save_btn.clicked.connect(self.browse_save_directory)        save_dir_layout.addWidget(self.browse_save_btn)        settings_layout.addLayout(save_dir_layout)        # 文件和分隔符 - 水平紧凑布局        options_layout = QHBoxLayout()        options_layout.setSpacing(30)        # 模式选择        mode_group = QGroupBox("组织模式")        mode_group.setStyleSheet("""            QGroupBox {                font-weight: bold;                border: 2px solid #dcdde1;                border-radius: 8px;                margin-top: 10px;                padding-top: 10px;                background-color: white;                margin-right: 0px;            }            QGroupBox::title {                subcontrol-origin: margin;                left: 10px;                padding: 0 10px 0 10px;                color: #2c3e50;            }        """)        mode_layout = QVBoxLayout()        mode_group.setLayout(mode_layout)        self.simple_radio = QRadioButton("简单模式 - 每层单独命名")        self.simple_radio.setToolTip("例: 4-1-1-001.bmp → 4/1/1/")        self.cumulative_radio = QRadioButton("累积模式 - 每层包含完整路径")        self.cumulative_radio.setToolTip("例: 4-1-1-001.bmp → 4/4-1/4-1-1/")        self.cumulative_radio.setChecked(True)        mode_layout.addWidget(self.simple_radio)        mode_layout.addWidget(self.cumulative_radio)        options_layout.addWidget(mode_group)        # 分隔符选择        sep_group = QGroupBox("文件名分隔符")        sep_group.setStyleSheet("""            QGroupBox {                font-weight: bold;                border: 2px solid #dcdde1;                border-radius: 8px;                margin-top: 10px;                padding-top: 10px;                background-color: white;                margin-left: 0px;            }            QGroupBox::title {                subcontrol-origin: margin;                left: 10px;                padding: 0 10px 0 10px;                color: #2c3e50;            }        """)        sep_layout = QVBoxLayout()        sep_group.setLayout(sep_layout)        sep_combo_layout = QHBoxLayout()        self.sep_combo = QComboBox()        self.sep_combo.addItems(['- (连字符)''_ (下划线)''. (点)''自定义'])        sep_combo_layout.addWidget(self.sep_combo)        self.sep_custom_edit = QLineEdit()        self.sep_custom_edit.setPlaceholderText("输入自定义分隔符")        self.sep_custom_edit.setFixedWidth(130)        self.sep_custom_edit.setEnabled(False)        sep_combo_layout.addWidget(self.sep_custom_edit)        sep_layout.addLayout(sep_combo_layout)        self.sep_combo.currentIndexChanged.connect(self.on_separator_changed)        options_layout.addWidget(sep_group)        options_layout.addStretch()        settings_layout.addLayout(options_layout)        # 文件后缀筛选        ext_layout = QHBoxLayout()        ext_label = QLabel("📄 文件后缀:")        ext_label.setFixedWidth(80)        ext_layout.addWidget(ext_label)        self.ext_edit = QLineEdit()        self.ext_edit.setPlaceholderText("例如: .bmp, .jpg, .png (多个用逗号分隔,留空则处理所有文件)")        ext_layout.addWidget(self.ext_edit)        settings_layout.addLayout(ext_layout)        main_layout.addWidget(settings_group)        # 日志区域        log_group = QGroupBox("操作日志")        log_layout = QVBoxLayout()        log_group.setLayout(log_layout)        self.log_text = QTextEdit()        self.log_text.setReadOnly(True)        self.log_text.setMaximumHeight(420)        self.log_text.setStyleSheet("""            QTextEdit {                background-color: #fafafa;                line-height: 1.5;            }        """)        log_layout.addWidget(self.log_text)        # 底部控制栏 - 四个按钮居中        bottom_widget = QWidget()        bottom_layout = QHBoxLayout()        bottom_widget.setLayout(bottom_layout)        # 清除日志按钮        self.clear_btn = QPushButton("🗑 清除日志")        self.clear_btn.clicked.connect(self.clear_log)        self.clear_btn.setStyleSheet("""            QPushButton {                background-color: #95a5a6;                padding: 8px 20px;                min-width: 100px;            }            QPushButton:hover {                background-color: #7f8c8d;            }        """)        bottom_layout.addWidget(self.clear_btn)        # 执行移动按钮        self.execute_btn = QPushButton("▶ 执行递归创建文件夹且移动文件")        self.execute_btn.setStyleSheet("""            QPushButton {                background-color: #e74c3c;                padding: 8px 20px;                min-width: 120px;            }            QPushButton:hover {                background-color: #c0392b;            }        """)        bottom_layout.addWidget(self.execute_btn)        # 撤销按钮        self.undo_btn = QPushButton("↩ 撤销")        self.undo_btn.setEnabled(False)        self.undo_btn.setStyleSheet("""            QPushButton {                background-color: #3498db;                padding: 8px 20px;                min-width: 100px;            }            QPushButton:hover {                background-color: #2980b9;            }            QPushButton:enabled {                background-color: #f39c12;            }            QPushButton:enabled:hover {                background-color: #e67e22;            }        """)        bottom_layout.addWidget(self.undo_btn)        # 停止按钮        self.stop_btn = QPushButton("⏹ 停止")        self.stop_btn.setEnabled(False)        self.stop_btn.setStyleSheet("""            QPushButton {                background-color: #95a5a6;                padding: 8px 20px;                min-width: 100px;            }            QPushButton:hover {                background-color: #7f8c8d;            }            QPushButton:enabled {                background-color: #e67e22;            }            QPushButton:enabled:hover {                background-color: #d35400;            }        """)        bottom_layout.addWidget(self.stop_btn)        # 让四个按钮整体居中        bottom_layout.insertStretch(0)        bottom_layout.insertStretch(5)        log_layout.addWidget(bottom_widget)        main_layout.addWidget(log_group)    def on_separator_changed(self, index):        if index == 3:  # 自定义            self.sep_custom_edit.setEnabled(True)            self.sep_custom_edit.setFocus()        else:            self.sep_custom_edit.setEnabled(False)    def browse_root_directory(self):        dir_path = QFileDialog.getExistingDirectory(self"选择根目录(扫描文件的目录)")        if dir_path:            self.root_dir_edit.setText(dir_path)    def browse_save_directory(self):        dir_path = QFileDialog.getExistingDirectory(self"选择保存目录(存放组织后文件的目录)")        if dir_path:            self.save_dir_edit.setText(dir_path)    def clear_log(self):        self.log_text.clear()def main():    app = QApplication(sys.argv)    app.setStyle('Fusion')    app.setWindowIcon(QIcon())    window = FileOrganizerGUI()    window.show()    sys.exit(app.exec())if __name__ == "__main__":    main()

              这款根据文件名命名规递归创建文件夹工具,可自动完成原需手动逐个创建文件夹、反复移动文件、来回切换目录一整天的文件整理工作。从面对成百上千个图片文件逐个分析命名、手动创建层级文件夹、不断重复机械操作的繁琐与崩溃,到用工具实现选择根目录、一键启动、自动解析文件名层级、智能创建文件夹结构并自动归类文件,工作效率获得指数级提升,终于解放了双手和时间!

              大佬们也可以举一反三,参照上面的代码思路根据自己工作中的实际情况来具体问题具体分析,实现自己定制化的需求。

              结语

              当Python遇见办公,牛马打工人终于笑出了猪叫声

              【职场人必看】每天早上一睁眼,想到又要面对:

              1.📊 堆积如山的Excel表格

              2.📑 机械重复的复制粘贴

              3.✍️ 永远改不完的各类文档

              4.诸如此类的更多........

              是不是连Ctrl+Alt+Delete的心都有了?

              别慌!别急,摸鱼这位“职场外挂”已经带着Python代码来拯救你了!

              本篇文章代码和exe已经上传nas私有云盘,有需要的大佬私信摸鱼本鱼获取......

              最后感谢各位大佬观看,还望各位大佬抬抬贵手一键三连,多多关注点赞转发评论,大佬们的支持才是摸鱼孜孜不倦更新原创干货的动力!

              最新文章

              随机文章

              基本 文件 流程 错误 SQL 调试
              1. 请求信息 : 2026-08-25 09:54:38 HTTP/2.0 GET : https://f.mffb.com.cn/a/512146.html
              2. 运行时间 : 0.242969s [ 吞吐率:4.12req/s ] 内存消耗:4,383.66kb 文件加载:140
              3. 缓存信息 : 0 reads,0 writes
              4. 会话信息 : SESSION_ID=c74b5a7923919bd44a8c7769fe8d01e5
              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.001102s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
              2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001434s ]
              3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.011606s ]
              4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000713s ]
              5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001367s ]
              6. SELECT * FROM `set` [ RunTime:0.000628s ]
              7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001512s ]
              8. SELECT * FROM `article` WHERE `id` = 512146 LIMIT 1 [ RunTime:0.001189s ]
              9. UPDATE `article` SET `lasttime` = 1787622878 WHERE `id` = 512146 [ RunTime:0.033825s ]
              10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.007973s ]
              11. SELECT * FROM `article` WHERE `id` < 512146 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001220s ]
              12. SELECT * FROM `article` WHERE `id` > 512146 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001115s ]
              13. SELECT * FROM `article` WHERE `id` < 512146 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001748s ]
              14. SELECT * FROM `article` WHERE `id` < 512146 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001748s ]
              15. SELECT * FROM `article` WHERE `id` < 512146 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.002686s ]
              0.246795s