跳到内容
当前位置:首页>Excel>几百个文件要按Excel名单重命名?Python 30行代码一键搞定——HR/财务/行政的批量改名终极方案

几百个文件要按Excel名单重命名?Python 30行代码一键搞定——HR/财务/行政的批量改名终极方案

  • 2026-09-24 05:56:19
几百个文件要按Excel名单重命名?Python 30行代码一键搞定——HR/财务/行政的批量改名终极方案

上周一个做HR的朋友给我发消息,语气里全是崩溃:“我刚收了200多份简历,文件名全是乱的——‘张三简历.pdf’‘我的简历_0823.pdf’‘新建PDF.pdf’,还有人直接交了个‘文档1.pdf’。领导要求今天下班前全部改成‘工号-姓名-岗位’的格式,我改了50个手已经酸了,眼睛也花了,再改下去非得把张三和李四搞混不可。”

我太懂这种感觉了。不只是HR,财务同事每个月报销季要按日期重命名发票扫描件,行政的同事要按部门归档合同,老师要按学号重命名作业——全是同一个问题:手上有一份Excel名单,对应着一堆文件,要一个一个对照着重命名。

手动改吧,几百个文件至少耗一下午,改错一个还可能造成大麻烦;不改吧,文件名乱成一锅粥,找文件全靠缘分。

今天就给你一个终极方案:写一个30行出头的Python脚本,读取Excel里的映射关系,自动把文件全部重命名好,还自带非法字符清洗、重名冲突处理和改名失败回滚。零基础也能跟着做,代码复制过去就能用。

先花5分钟做好准备工作

在跑代码之前,咱们先把环境和材料准备好,就三步。

第一步:安装Python。 去 python.org 下载最新版本,安装的时候一定要勾选“Add Python to PATH”这个选项,不然后面命令行会找不到Python。装完之后打开命令行(Windows按Win+R输入cmd,Mac打开终端),输入 python --version,能看到版本号就说明装好了。

第二步:安装两个必要的库。 在命令行里输入:

pip install pandas openpyxl

pandas用来读取Excel,openpyxl是pandas读取xlsx文件的引擎。等它跑完就装好了。

第三步:准备你的Excel映射表。 这个表的结构很简单,两列就行:

  • A列是旧文件名,必须包含扩展名,比如“张三简历.pdf”
  • B列是新文件名,比如“001-张三-前端工程师.pdf”
  • 第一行是表头,写“旧文件名”和“新文件名”就行

把这个Excel文件和你要改名的那些文件放在同一个文件夹里。比如你在D盘建个文件夹叫“简历重命名”,把Excel和200份PDF都丢进去。

材料齐了,接下来上代码。

30行代码,逐行给你讲明白

先把完整代码贴出来,你可以直接复制到一个文本文件里,保存为 rename_files.py(注意后缀名是.py不是.txt),放在刚才那个文件夹里。

import osimport pandas as pdexcel_path = "映射表.xlsx"folder_path = "."df = pd.read_excel(excel_path)success = []log = []for _, row in df.iterrows():    old_name = str(row["旧文件名"]).strip()    new_name = str(row["新文件名"]).strip()for char inr'\/:*?"<>|':        new_name = new_name.replace(char, "_")    old_path = os.path.join(folder_path, old_name)    new_path = os.path.join(folder_path, new_name)ifnot os.path.exists(old_path):        log.append(f"[跳过] 未找到文件:{old_name}")continue    base, ext = os.path.splitext(new_path)    counter = 1while os.path.exists(new_path):        new_path = f"{base}_{counter}{ext}"        counter += 1try:        os.rename(old_path, new_path)        success.append((new_path, old_path))        log.append(f"[成功] {old_name} → {os.path.basename(new_path)}")except Exception as e:        log.append(f"[失败] {old_name}{str(e)}")withopen("重命名日志.txt""w", encoding="utf-8"as f:    f.write("\n".join(log))print(f"完成!成功{len(success)}个,详见重命名日志.txt")

别被这堆代码吓到,我一行一行给你讲,看完你就知道每步在干什么。

import os 和 import pandas as pd:导入两个工具库。os是Python自带的文件操作模块,pandas是刚才装的数据处理库,用来读Excel。

excel_path = "映射表.xlsx":这里填你的Excel文件名。如果你的文件叫“简历名单.xlsx”,就改成对应的名字。

folder_path = ".":点号表示当前文件夹,也就是脚本所在的文件夹。因为我们把脚本和文件放在一起了,所以不用改。

df = pd.read_excel(excel_path):读取Excel文件,存到一个叫df的变量里。你可以把它理解成一个表格,后面就是逐行遍历这个表格。

success = [] 和 log = []:初始化两个空列表。success记录改名成功的文件(用于回滚),log记录所有操作日志。

for _, row in df.iterrows(): 开始遍历Excel的每一行。每次循环,row就是一行数据,包含“旧文件名”和“新文件名”两个字段。

old_name = str(row["旧文件名"]).strip() 和 new_name = str(row["新文件名"]).strip():分别取出旧文件名和新文件名,strip()去掉首尾可能存在的空格——这个很重要,Excel里经常会有看不见的空格导致匹配失败。

接下来三行是非法字符清洗

for char inr'\/:*?"<>|':    new_name = new_name.replace(char, "_")

Windows系统不允许文件名中出现 \ / : * ? " < > | 这9个字符,如果你的新文件名里有这些字符(比如岗位名称里带斜杠“前端/后端”),重命名会直接报错。这段代码把这些字符全部替换成下划线,确保文件名合法。

old_path = os.path.join(folder_path, old_name) 和 new_path = os.path.join(folder_path, new_name):把文件夹路径和文件名拼接成完整路径。用os.path.join而不是手动拼斜杠,是因为Windows和Mac的路径分隔符不一样,这个函数会自动处理。

ifnot os.path.exists(old_path):    log.append(f"[跳过] 未找到文件:{old_name}")continue

先检查旧文件是否存在。如果Excel里写了“张三简历.pdf”但文件夹里没有这个文件,就记一条日志跳过,不会让整个脚本崩掉。continue的意思是跳过本次循环,继续处理下一行。

base, ext = os.path.splitext(new_path)counter = 1while os.path.exists(new_path):    new_path = f"{base}_{counter}{ext}"    counter += 1

这是重名冲突处理。如果新文件名和已有的文件重名了(比如两个不同的旧文件都映射到了同一个新名字),自动在后面加序号:第一次加_1,第二次加_2,以此类推,绝不会覆盖已有文件。

try:    os.rename(old_path, new_path)    success.append((new_path, old_path))    log.append(f"[成功] {old_name} → {os.path.basename(new_path)}")except Exception as e:    log.append(f"[失败] {old_name}{str(e)}")

核心重命名操作。os.rename就是执行改名的函数。成功了就把新旧路径都记到success列表里(后面回滚要用),同时写一条成功日志。如果出了异常(比如文件被其他程序占用),不会崩溃,而是记一条失败日志,继续处理下一个文件。

最后三行:把所有日志写入“重命名日志.txt”文件,用utf-8编码保证中文不乱码。然后在命令行打印成功数量。

整个脚本不到35行,逻辑非常清晰:读Excel → 逐行处理 → 清洗文件名 → 检查文件 → 处理重名 → 执行改名 → 记录日志。

怎么运行?手把手演示一遍

代码写好了,保存为 rename_files.py 放在你的文件文件夹里。然后跟着下面的步骤操作:

第一步,打开命令行。Windows在文件夹地址栏输入cmd然后回车,会直接在当前路径打开命令行;Mac右键文件夹选“在终端中打开”。

第二步,输入 python rename_files.py,回车。

你会看到屏幕上逐行输出处理结果,最后显示“完成!成功XXX个”。打开文件夹,你会发现所有文件已经整整齐齐地改成了新名字,同时多了一个“重命名日志.txt”,里面记录了每一个文件的改名情况。

整个过程,200个文件大概3秒钟跑完。

改错了怎么办?日志和回滚给你兜底

批量操作最怕的就是改错。这个脚本在设计上做了两层保护。

第一层是日志文件。 每次运行都会生成“重命名日志.txt”,里面清清楚楚记录了哪个旧文件名改成了哪个新文件名。如果发现改错了,打开日志对照一下就知道哪里出了问题。

第二层是回滚机制。 脚本里的success列表记录了所有成功改名的文件(新路径和旧路径都记了)。如果你想把改过的名字全部恢复成原来的样子,只需要在脚本最后加几行代码:

print("输入 r 并回车可回滚,直接回车退出:")choice = input()if choice == "r":for new_path, old_path inreversed(success):        os.rename(new_path, old_path)print("已回滚所有改名操作")

注意这里用了 reversed(success),倒序回滚是因为如果A改成了B,同时B又改成了C,正序回滚会冲突,倒序就能避免这个问题。

不过我还是要强调一句:运行脚本之前,先把整个文件夹复制一份做备份。 代码再可靠,也不如备份来得安心。尤其是第一次用的时候,先拿三五个文件试跑一下,确认结果没问题再批量处理。

不会写代码?让AI帮你改

你可能会想:我连Python都不会,万一我的需求跟这个不完全一样怎么办?很简单,把需求告诉AI,让它帮你改代码。

比如你想让脚本支持模糊匹配——Excel里的旧文件名只写了“张三”而不是“张三简历.pdf”,你希望自动找到包含“张三”的文件。你可以这样跟ChatGPT或豆包说:

我有一个Python批量重命名脚本,目前是精确匹配文件名。请帮我改成模糊匹配:Excel旧文件名列只写关键词(如“张三”),脚本自动在文件夹中查找文件名包含该关键词的文件。如果匹配到多个文件,跳过并在日志中记录。

再比如你的Excel格式不一样,旧文件名叫“原文件名”、新文件名叫“目标文件名”,直接告诉AI:“把代码里的‘旧文件名’和‘新文件名’分别改成‘原文件名’和‘目标文件名’。”

AI改完之后你对比一下关键逻辑,确认没问题就直接用。这比从零学编程快得多,代码本质上就是你的需求翻译器。

几个常见问题,提前给你踩好坑

运行提示“文件被占用”怎么办? 这通常是因为你要改名的PDF或Excel正在被其他程序打开。关掉所有相关程序(包括PDF阅读器、Excel、WPS),重新运行就行。日志里会记录哪些文件改名失败,不用全部重来。

Excel路径含中文报错? 如果你的文件夹路径或文件名里有中文,在代码里写路径时用原始字符串,在引号前面加个r,比如 excel_path = r"D:\简历\映射表.xlsx"。这样Python不会把反斜杠当成转义字符。

扩展名不匹配怎么办? 比如Excel里写的是“张三简历.pdf”,但实际文件是“张三简历.PDF”大写,或者实际文件是“张三简历.docx”。脚本会提示“未找到文件”并跳过。这时候你需要检查Excel和实际文件名是否一致,扩展名也必须对得上。

能改子文件夹里的文件吗? 当前脚本只处理当前文件夹。如果你需要递归处理所有子文件夹,可以让AI帮你把os.rename那一段改成用os.walk遍历,加几行代码就行。

不止按名单改名,这些变体场景也能用

这个脚本的核心思路是“建立映射关系 → 批量改名”,围绕这个思路可以变出很多花样。

批量加前缀或后缀。 比如季度末你要给所有合同文件加上“2026Q3_”的前缀,根本不需要Excel。用os.listdir遍历文件夹,每个文件名前面拼上前缀就行:

for filename in os.listdir(folder_path):if filename.endswith(".pdf"):        os.rename(filename, f"2026Q3_{filename}")

三行代码搞定。

按拍照日期重命名照片。 手机拍的照片文件名是IMG_20260823_143022.jpg这种还好,有些相机导出来是DSC0001.jpg完全看不出时间。可以用Pillow库读取照片的EXIF信息,把文件名改成“2026-08-23_14-30-22.jpg”这种格式。需要安装Pillow(pip install Pillow),然后用 Image.open(path)._getexif() 读取拍摄时间,逻辑跟上面的脚本一样,只是新文件名的来源从Excel变成了EXIF数据。

按文件内容关键词重命名。 比如一堆扫描合同,你想把每份合同里的“合同编号:XXX”提取出来作为文件名。可以用pdfplumber库读取PDF文本内容,用正则表达式提取编号,然后重命名。这个稍微复杂一点,但思路完全相同:找到旧文件 → 确定新名字 → 执行改名。

这些变体你都不需要自己从头写代码,把需求描述清楚丢给AI,它分分钟给你写好。关键是你要理解核心逻辑——映射关系从哪来,改名就怎么改。

写在最后

批量重命名这件事,看起来是个小问题,但真到了几百个文件堆在面前的时候,手动改的那种痛苦和焦虑,做过的人都懂。

30行代码不能让你变成程序员,但它能帮你把一下午的机械劳动压缩到3秒钟,把出错概率降到几乎为零。更重要的是,当你掌握了“读Excel → 批量处理”这个思路之后,类似的批量操作——批量转换格式、批量分类归档、批量提取信息——你都能用同样的方式解决。

工具的意义从来不是炫技,而是把人从重复劳动里解放出来,去做真正需要思考的事情。

如果你在使用过程中遇到了问题,或者有其他批量处理的需求,欢迎在评论区留言,我来帮你看看怎么用代码搞定。也欢迎把这篇文章转发给你身边正在被几百个文件折磨的同事——他们会感谢你的。

看完了别忘了点个“在看”,下次遇到批量改名的活儿,翻出这篇文章就能直接上手。

◆ 职场充电站

推荐工具:ChatGPT / 豆包 AI

不会写代码也没关系,把需求描述清楚丢给 AI,它就是你最强的批量处理助手

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