当前位置:首页>python>Python + ArcGIS 批量建库

Python + ArcGIS 批量建库

  • 2026-04-16 03:37:07
Python + ArcGIS 批量建库

总体思路:让 AI 写代码,我负责踩坑和封装

这次的玩法有点不一样——代码不是我一行行敲的,而是让 DeepSeek 帮我写的

我先根据《河南省村庄规划数据库标准》,让 DeepSeek 整理出三张配置表:要素数据集、图层、字段。然后告诉它我的需求:用 Python 写个脚本,在 ArcGIS 10.7 里读这三张表,自动建库、建图层、加字段,还要带进度条和错误日志。

AI 吐出来的代码框架挺像回事,但一跑就各种水土不服。于是我的工作变成了:拿 AI 的代码当毛坯房,我来精装修——调试编码问题、修坐标系 bug、加名称清洗、补异常捕获,最后再挂到 ArcToolbox 里封装成标准工具。脚本运行逻辑:

读取 CSV 配置表 → 创建文件地理数据库 → 创建要素数据集 → 创建要素类 → 批量添加字段

添加脚本工具

写好的 .py 文件不能直接双击运行,得挂到 ArcGIS 的工具箱里才能用。这一步本身不复杂,但参数设置错了后面全白搭。我把配置步骤列出来,照着做就行。

1. 新建工具箱打开 ArcMap 或 ArcCatalog,在目录树里找到“我的工具箱”,右键 → 新建 → 工具箱,起个名字,比如“村庄规划工具”。

2. 添加脚本右键刚建好的工具箱 → 添加 → 脚本。弹出向导:

  • 名称:填 村庄规划建库(这就是工具显示的名字)

  • 标签:随便填,用于搜索

  • 描述:写清楚工具干嘛的,可选

  • 脚本文件:点文件夹图标,选你保存的 .py 文件

  • 在进程中运行:不勾选(默认)

3. 设置参数

这一步决定了工具界面长什么样、用户要填哪些东西。按顺序添加 6 个参数:

序号
显示名称
数据类型
说明
0
输出文件夹
文件夹
选 GDB 存放的目录
1
地理数据库名称
字符串
输入名称,不用加 .gdb
2
要素数据集配置表
文件
必填
3
图层配置表
文件
必填
4
字段配置表
文件
必填
5
坐标系
坐标系
用户手动选取

重点说一下 参数属性 的细节:

  • 参数 2、3、4:数据类型选“文件”,这样点浏览按钮时选择 CSV 文件。

  • 参数 5:数据类型选“坐标系”,默认会弹出坐标系选择器。不用填默认值,让用户自己选。

配置完的界面长这样:

4. 运行测试填好参数,点确定。工具开始跑,进度条会显示当前步骤和剩余时间,地理处理窗口里实时输出日志。如果 CSV 配置没问题,很快就能看到数据库生成完毕。

避坑指南

坑 1:脚本一跑就 SyntaxError,连第一行都过不去

现象:工具刚点确定,地理处理窗口直接飙红,报 SyntaxError: EOL while scanning string literal,或者 UnicodeDecodeError

原因:ArcGIS 10.7 自带的 Python 是 2.7 版本,对中文支持天生残疾。如果你的脚本存成了 UTF-8,但没在文件头声明编码,或者声明了但文件本身带 BOM,Python 解释器会用默认的 ASCII 去读文件,一碰到中文立马歇菜。

解决:我试了好几种组合,最后发现最稳妥的办法是:

  • 用 Windows 记事本打开脚本,另存为 ANSI 编码

  • 在文件第一行加上 # -*- coding: cp936 -*-

cp936 就是 Windows 简体中文的代码页,这样 Python 用本地编码读文件,里面的中文注释、中文字符串全都老老实实,再也不报错了。


坑 2:读 Excel 比登天还难,xlrd 和 openpyxl 轮番掉链子

需求:从三张 Excel 表里读配置——要素数据集、图层、字段。

第一次尝试:用 xlrd。安装倒挺顺利,但一读中文路径就报 IOError,说找不到文件。查了半天,原来是 Python 2 里的 xlrd 对 Unicode 路径处理有 bug。换成英文路径能读了,但单元格里的中文又变成乱码。

第二次尝试:用 openpyxl。这个库对 .xlsx 支持好,安装也简单:pip install openpyxl==2.6.4。读取没问题了,但速度有点慢,而且共享给别人,别人还要安装openpyxl库。

终极方案:我一拍大腿,干嘛非得跟 Excel 较劲?用 CSV 不香吗?

CSV 是纯文本,Python 内置 csv 模块零依赖,编码完全可控。只需把 Excel 另存为 UTF-8 编码的 CSV,后续读取没啥问题。

CSV 读取核心代码(解决中文乱码的关键):

with open(csv_path, 'rb'as f:    content = f.read().decode('utf-8')lines = content.splitlines()reader = csv.reader(lines)for row in reader:    decoded_row = [cell.decode('utf-8'for cell in row]

注意:必须先用二进制模式读,整体解码成 Unicode,再用 csv.reader 解析。如果直接传 Unicode 给 csv.reader,Python 2 会再次用 ASCII 编码,照样报错。


坑 3:坐标系参数传进去就报“该值不是空间参考”

现象:工具界面明明选了坐标系(比如 CGCS2000 3 Degree GK Zone 38),运行到创建要素数据集那一步时,ArcGIS 直接甩脸:

ERROR 000840: 该值不是空间参考。

原因arcpy.GetParameter(5) 返回的可能是字符串(WKT 或名称),也可能是 SpatialReference 对象,但直接传给 CreateFeatureDataset_management 不一定兼容。尤其在 ArcGIS 10.7 里,工具界面的坐标系参数经常返回一个无法直接识别的字符串。

解决:写一个健壮的坐标系解析函数,不管输入什么格式,都强行转成可用的 SpatialReference 对象:

def get_spatial_reference(input_param):    if hasattr(input_param, 'factoryCode'):        return input_param    sr_str = str(input_param)    try:        return arcpy.SpatialReference(int(sr_str))    exceptpass    try:        return arcpy.SpatialReference(sr_str)    exceptpass    if sr_str.endswith('.prj'and os.path.exists(sr_str):        return arcpy.SpatialReference(sr_str)    sr = arcpy.SpatialReference()    sr.loadFromString(sr_str)    return sr

有了这个函数,无论参数是啥,都能稳稳当当转成坐标系对象,再也没报过 000840


坑 4:图层名称包含括号、空格,ArcGIS 直接拒绝

现象:CSV 里图层名叫 交通基础设施(点),看起来挺正常,结果创建要素类时 ArcGIS 报错:

ERROR 000354: 名称包含无效的字符

原因ArcGIS 要素类命名规则非常严格——只能包含字母、数字、下划线,且不能以数字开头。括号、空格、中文横线全都不允许。

解决:写一个名称清洗函数,把非法字符全替换成下划线,如果首字符是数字就加个前缀:

import redef sanitize_name(name):    cleaned = re.sub(ur'[^\u4e00-\u9fa5a-zA-Z0-9_]'u'_', name)    cleaned = re.sub(ur'_+'u'_', cleaned).strip(u'_')    if cleaned and cleaned[0].isdigit():        cleaned = u'F' + cleaned    return cleaned if cleaned else u'FeatureClass'

清洗后 交通基础设施(点) → 交通基础设施_点_。别名(Alias)还是用原来的中文名,既符合规范又不影响可读性。


坑 5:字段长度和精度读出来是文本,添加字段时报错

现象:字段添加时 ArcGIS 报 ERROR 001526: 字段长度无效

原因:CSV 里字段长度列填的 18,但 csv 读出来全是字符串 '18',而 arcpy.AddField_management 要求整数。

解决:读取时强制类型转换,并加上 try-except 兜底:

length = Noneif row[idx_len]:    try:        length = int(row[idx_len])    except:        arcpy.AddWarning(u"字段长度值无效,将使用默认值")

这样不管用户填的是数字还是文本,都能正确转成整数。


坑 6:进度条一动不动,用户以为工具卡死了

现象:创建大量图层和字段时,工具界面一片空白,进度条纹丝不动,同事跑过来问我:“你这工具是不是挂了?”

解决:用 arcpy.SetProgressor 和 SetProgressorLabel 实时更新状态。每完成一个子任务就调用 SetProgressorPosition(),顺便估算剩余时间:

arcpy.SetProgressor("step"u"正在创建数据库..."0, total_steps, 1)for i, layer in enumerate(layers):    arcpy.SetProgressorPosition(current_step)    arcpy.SetProgressorLabel(u"正在创建:{0}".format(layer_name))

加上这个之后,用户能清楚看到当前进度和剩余时间,再也没人怀疑工具卡死了。


坑 7:出错后看不到真正原因,日志里只有 ERROR 999999

现象:脚本崩溃只显示 ERROR 999999,完全不知道哪里错了。

解决:在最外层 main() 里用 try-except 包裹,并用 traceback.format_exc() 打印完整堆栈:

except Exception as e:    arcpy.AddError(u"错误信息:{0}".format(safe_unicode(e)))    arcpy.AddError(traceback.format_exc())    raise

这样一来,出错时日志里会清清楚楚显示哪个文件的第几行、什么原因,调试效率直接翻倍。


最终效果:一键生成 10+ 图层的村庄规划空库

经过这七重磨砺,脚本终于稳定下来。看看最终成果:

  • 输入:三个 CSV 配置表 + 在工具界面选一下坐标系

  • 输出:一个文件地理数据库,里面自动建好 3 个要素数据集、10 个要素类(面、线、点),每个要素类自动添加 20~50 个属性字段,字段类型、长度完全符合《数据库标准》。

  • 运行时间:大约 2 -5分钟

工具界面清爽,运行日志详细,即使不懂代码的同事也能根据日志快速排查配置表错误。原本需要半天的手工建库工作,现在一杯咖啡的功夫就搞定了。


我的几点小感悟

  1. Python 2.7 环境下的中文编码:Windows 下用 ANSI + cp936 声明最稳,别死磕 UTF-8。

  2. 数据源能用 CSV 就别碰 Excel:省去第三方库依赖,编码完全可控。

  3. 坐标系参数永远不要直接信任:封装一个万能的解析函数,以不变应万变。

  4. 名称清洗是必备工序:用户输入什么奇葩字符都有可能,自动清洗保平安。

  5. 进度条和日志是工具的脸面:让用户知道工具在干活,出错时能快速定位。

  6. 异常捕获要彻底:用 traceback 打印全堆栈,别让错误信息被吞掉。

最后说一句:工具是给人用的,多花一点时间让界面友好、日志清晰,能省下无数解释的时间。


需要完整脚本的朋友,可以在公众号后台回复「村庄规划建库」,我把 CSV 版脚本和示例配置表打包发给你。

技术之路,踩坑不断,填坑不止。与各位共勉!


📌 今日学习笔记

学到了什么:

  • Python 2.7 中文编码的终极解决方案(ANSI + cp936)

  • CSV 比 Excel 更适合做配置文件

  • ArcPy 坐标系参数的健壮处理方法

  • 要素类命名的清洗技巧

  • 进度条和日志的正确打开方式

  • 如何在 ArcToolbox 中正确配置脚本工具参数

代码对比:

  • 之前:手工建库,半天起步

  • 现在:一键运行,2 分钟搞定

用时:4小时

心情: 看着工具刷刷刷建库,成就感满满


📢 我是老李,35岁规划师,从零开始学AI。

每天1小时,记录真实学习路。不求成为大神,只为多一条出路。

如果你也在传统行业或者对未来感到焦虑,如果你也想学点新东西但一直没有开始

点击关注,我们一起进步;

也欢迎点赞 ❤️ 分享 ➕ 推荐,让更多同行者看到!

👇👇👇

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-04-16 03:54:37 HTTP/2.0 GET : https://f.mffb.com.cn/a/485922.html
  2. 运行时间 : 0.176575s [ 吞吐率:5.66req/s ] 内存消耗:4,523.41kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=8a0f36e467e816b5ac641e7e555c729f
  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.000807s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001189s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.007447s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.004964s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001152s ]
  6. SELECT * FROM `set` [ RunTime:0.004760s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001177s ]
  8. SELECT * FROM `article` WHERE `id` = 485922 LIMIT 1 [ RunTime:0.003583s ]
  9. UPDATE `article` SET `lasttime` = 1776282878 WHERE `id` = 485922 [ RunTime:0.029876s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000692s ]
  11. SELECT * FROM `article` WHERE `id` < 485922 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000984s ]
  12. SELECT * FROM `article` WHERE `id` > 485922 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.002853s ]
  13. SELECT * FROM `article` WHERE `id` < 485922 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001391s ]
  14. SELECT * FROM `article` WHERE `id` < 485922 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001911s ]
  15. SELECT * FROM `article` WHERE `id` < 485922 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.001466s ]
0.179467s