当前位置:首页>python>常用标准库:Python 自带的「工具箱」7

常用标准库:Python 自带的「工具箱」7

  • 2026-07-03 11:45:18
常用标准库:Python 自带的「工具箱」7
Python基础标准库零基础入门

常用标准库:Python 自带的「工具箱」

Rs知识库 · Python 零基础入门系列 · 第七篇

R

Rs知识库

2026年6月28日

Python之所以强大,不仅因为语法简洁,更因为它自带了一个巨大的「工具箱」——标准库。从文件操作到日期处理,从随机数到正则表达式,你需要的大部分功能都已经有人写好了。这一篇来认识5个最常用的标准库模块。

本文目录

os 和 pathlib:与操作系统对话
datetime:日期和时间
random:随机数
collections:高级数据容器
re:正则表达式
json 进阶与 csv 模块
实战:数据分析小工具

① os 和 pathlib:与操作系统对话

当你需要操作文件、遍历目录、拼接路径时,不需要自己造轮子——os 模块早就替你准备好了。它是 Python 与操作系统之间的桥梁。

os.path路径操作经典方案
os.path.join()os.path.exists()os.path.basename()os.path.dirname()
import os  # 安全地拼接路径(自动处理分隔符) log_path = os.path.join("/var/log""nginx""access.log"print(log_path)  # /var/log/nginx/access.log# 检查文件是否存在if os.path.exists(log_path):     print("日志文件存在"else:     print("日志文件不存在")  # 提取文件名和目录名print(os.path.basename(log_path))  # access.logprint(os.path.dirname(log_path))   # /var/log/nginx

Python 3.4 引入了 pathlib,用面向对象的方式操作路径,代码更直观:

from pathlib import Path  # 用 / 运算符拼接路径,像写公式一样自然 log_dir = Path("/var/log") / "nginx" log_file = log_dir / "access.log"# 遍历目录下所有 .log 文件for f in Path("/var/log").glob("**/*.log"):     print(f.name, f.stat().st_size)  # 文件名 + 大小
操作
os.path
pathlib
拼接路径
os.path.join(a, b)
Path(a) / b
获取文件名
os.path.basename(p)
Path(p).name
检查存在
os.path.exists(p)
Path(p).exists()
遍历目录
os.listdir(d)
Path(d).iterdir()
⚠️ 常见错误:硬编码路径分隔符。写 "data/" + filename 在 Windows 上会出问题。应该用 os.path.join() 或 Path / filename,让 Python 自动选择正确的分隔符。

② datetime:日期和时间

处理日期和时间是编程中的高频需求——生成时间戳、计算工期、格式化显示。Python 的 datetime 模块提供了四个核心类型。

datetime日期时间处理
date — 年月日time — 时分秒datetime — 年月日时分秒timedelta — 时间间隔
from datetime import datetime, timedelta  # 获取当前时间 now = datetime.now() print(now)  # 2026-06-28 14:30:00.123456# 计算项目截止日期(从今天起 45 天后) deadline = now + timedelta(days=45print(f"项目截止:{deadline.strftime('%Y-%m-%d')}")  # 计算两个日期之间的天数 start = datetime(202611) diff = now - start print(f"今年已过 {diff.days} 天")  # 今年已过 178 天# 格式化输出print(now.strftime("%Y年%m月%d日 %H:%M")) # 2026年06月28日 14:30

strftime / strptime 常用格式化代码

代码
含义
示例
%Y
四位年份
2026
%m
月份(补零)
06
%d
日期(补零)
28
%H
小时(24小时制)
14
%M
分钟(补零)
30
%S
秒(补零)
05
💡 小贴士:获取时间戳用 datetime.now().timestamp(),但显示给用户时要先用 strftime() 转成可读格式。时间戳是给程序看的,格式化字符串是给人看的。

③ random:随机数

随机抽奖、洗牌、生成验证码、模拟实验……这些场景都需要 random 模块。它提供了各种「靠运气」的功能。

random随机数生成
random() — 0~1浮点数randint(a,b) — 区间整数choice(seq) — 随机选一个shuffle(lst) — 打乱列表sample(pop,k) — 不重复抽样
import random  # 随机抽奖:从名单中抽取3人(不重复) candidates = ["张伟""李娜""王磊""赵敏",             "陈晨""刘洋""周杰""吴芳"] winners = random.sample(candidates, 3print(f"中奖者:{winners}")  # 生成8位随机密码 chars = "abcdefghijklmnopqrstuvwxyz0123456789!@#$" password = "".join(random.choice(chars) for _ inrange(8)) print(f"随机密码:{password}")  # 洗牌:打乱任务列表顺序 tasks = ["写报告""开会""回邮件""审代码""部署"] random.shuffle(tasks) print(f"今日顺序:{tasks}")
⚠️ 常见错误random 生成的是「伪随机数」,可以被预测。如果用于密码、令牌、验证码等安全场景,请使用 secrets 模块(Python 3.6+),它使用操作系统级别的真随机源。

④ collections:高级数据容器

Python 内置的 dict 和 list 已经很强大了,但 collections 模块在它们的基础上提供了更专业的工具——就像从普通工具箱升级到了精密工具箱。

collections高级数据容器
Counter — 计数器defaultdict — 带默认值的字典OrderedDict — 有序字典

Counter 是统计频率的利器。给它一个列表或字符串,它自动计算每个元素出现的次数:

from collections import Counter, defaultdict  # Counter:统计日志中各错误类型的出现次数 errors = ["Timeout""404""Timeout""500",           "404""Timeout""403""404"] error_count = Counter(errors) print(error_count) # Counter({'Timeout': 3, '404': 3, '500': 1, '403': 1})# 查看最常见的 2 个print(error_count.most_common(2)) # [('Timeout', 3), ('404', 3)]

defaultdict 解决了「键不存在时报错」的问题。访问不存在的键时,它会自动创建一个默认值,而不是抛出 KeyError:

# defaultdict:按部门分组员工 groups = defaultdict(list)  employees = [     ("技术部""张三"),     ("市场部""李四"),     ("技术部""王五"),     ("市场部""赵六"), ]  for dept, name in employees:     groups[dept].append(name)  # 不需要先检查键是否存在print(dict(groups)) # {'技术部': ['张三', '王五'], '市场部': ['李四', '赵六']}
场景
普通写法
collections 写法
统计词频
手动循环 + dict 计数
Counter(text.split())
分组数据
if key not in d: d[key]=[]
defaultdict(list)
获取前N名
sorted() + 切片
counter.most_common(N)

⑤ re:正则表达式

正则表达式是一门嵌入在 Python 中的「微型语言」,专门用来匹配文本模式。验证手机号、提取邮箱、替换敏感信息——这些文本处理任务用正则表达式可以一行搞定。

re正则表达式匹配
re.match() — 从头匹配re.search() — 搜索第一个re.findall() — 找所有匹配re.sub() — 替换

正则语法速查

语法
含义
示例
\d
任意数字
\d{11} 匹配11位数字
\w
字母/数字/下划线
\w+ 匹配一个单词
.
任意字符(除换行)
a.b 匹配 axb、acb
*
0次或多次
ab* 匹配 a、ab、abb
+
1次或多次
ab+ 匹配 ab、abb
?
0次或1次
ab? 匹配 a 或 ab
[]
字符集合
[aeiou] 匹配元音
()
分组捕获
(\d+) 捕获数字串
import re  # 验证手机号格式 phone = "13812345678"if re.match(r"^1[3-9]\d{9}$", phone):     print("手机号格式正确")  # 从文本中提取所有邮箱 text = "联系我:alice@gmail.com 或 bob@qq.com" emails = re.findall(r"[\w.]+@[\w.]+\.\w+", text) print(emails)  # ['alice@gmail.com', 'bob@qq.com']# 替换敏感信息(隐藏手机号中间4位) msg = "客服电话:13812345678" hidden = re.sub(r"(\d{3})\d{4}(\d{4})"r"\1****\2", msg) print(hidden)  # 客服电话:138****5678
⚠️ 常见错误:贪婪匹配 vs 非贪婪匹配。.* 会尽可能多地匹配(贪婪),而 .*? 会尽可能少地匹配(非贪婪)。比如从 "<b>粗体</b>和<i>斜体</i>" 中提取标签内容,用 <.*?> 才能正确匹配每个标签。

⑥ json 进阶与 csv 模块

第五篇我们学过 json 的基础用法。这里补充两个实用技巧,再认识一下处理表格数据的 csv 模块。

import json  data = {"姓名""张三""城市""北京"}  # 技巧1:ensure_ascii=False 正确保存中文# 默认会把中文转成 \uXXXX 编码print(json.dumps(data, ensure_ascii=False)) # {"姓名": "张三", "城市": "北京"}# 技巧2:indent 参数美化输出print(json.dumps(data, ensure_ascii=False, indent=2)) # { #   "姓名": "张三", #   "城市": "北京" # }

csv 模块用来读写 CSV 文件(逗号分隔的表格数据)。其中 DictReader 最方便——直接用列名访问数据:

import csv from collections import Counter  # 假设 scores.csv 内容: # 姓名,科目,分数 # 张三,数学,88 # 李四,英语,72 # 王五,数学,95 # 赵六,数学,63 # 陈七,英语,81  # 读取 CSV 并统计各分数段人数 score_ranges = Counter()  withopen("scores.csv", encoding="utf-8"as f:     reader = csv.DictReader(f)     for row in reader:         score = int(row["分数"])         if score >= 90:             score_ranges["优秀(90+)"] += 1elif score >= 70:             score_ranges["良好(70-89)"] += 1else:             score_ranges["待提高(<70)"] += 1print(dict(score_ranges)) # {'良好(70-89)': 3, '优秀(90+)': 1, '待提高(<70)': 1}
💡 小贴士:处理表格数据时,csv.DictReader 比普通 csv.reader 更方便——它自动把第一行作为表头,你可以直接用 row["列名"] 访问数据,不需要记住列的索引号。

⑦ 实战项目:数据分析小工具

把今天学的5个模块组合起来,做一个完整的日志分析工具:读取日志文件、用正则提取信息、用 Counter 统计错误、用 datetime 计算时间范围、用 json 输出报告。

import re, json, os, random from datetime import datetime from collections import Counter  defanalyze_log(log_text):     """分析日志文本,生成统计报告"""# 1. 用正则提取时间戳和日志级别     pattern = r"(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}) \[(\w+)\] (.+)"     entries = re.findall(pattern, log_text)      if not entries:         return {"error""未找到有效日志条目"}      # 2. 统计各级别日志数量     level_count = Counter(entry[1for entry in entries)      # 3. 计算时间跨度     fmt = "%Y-%m-%d %H:%M:%S"     first = datetime.strptime(entries[0][0], fmt)     last = datetime.strptime(entries[-1][0], fmt)     duration = last - first      # 4. 提取错误信息的关键词     error_msgs = [msg for ts, level, msg in entries                   if level in ("ERROR""CRITICAL")]     error_words = Counter()     for msg in error_msgs:         for word in msg.split():             iflen(word) > 3:                 error_words[word] += 1# 5. 生成报告     report = {         "总日志数"len(entries),         "时间跨度"str(duration),         "各级别统计"dict(level_count),         "错误高频词"dict(error_words.most_common(5)),         "报告生成时间": datetime.now().strftime(fmt),     }     return report  # 模拟日志数据 sample_log = """2026-06-28 08:00:01 [INFO] 服务启动成功 2026-06-28 08:15:33 [WARNING] 内存使用率超过80% 2026-06-28 08:30:12 [ERROR] 数据库连接超时 timeout 2026-06-28 09:00:45 [INFO] 定时任务执行完成 2026-06-28 09:12:08 [ERROR] 数据库连接超时 timeout 2026-06-28 09:45:22 [CRITICAL] 磁盘空间不足 disk full 2026-06-28 10:00:00 [INFO] 健康检查通过"""# 运行分析 report = analyze_log(sample_log) print(json.dumps(report, ensure_ascii=False, indent=2))

关键设计思路

re用正则从非结构化文本中提取结构化数据
Counter自动统计频率,most_common() 直接取 Top N
datetime解析时间字符串、计算时间差
json将分析结果格式化为可读的 JSON 报告

动手练习

简单随机点名器

从名单列表中随机抽取 N 个人,支持不重复抽取。提示:使用 random.sample(),思考如果 N 大于名单总数会怎样?

中等日志分析器

读取一段日志文本,用正则提取时间戳和错误信息,用 Counter 统计错误类型。挑战:把分析结果保存为 JSON 文件。

挑战密码生成器

用 random + string 模块生成符合要求的随机密码。要求:可指定长度,必须包含大写字母、小写字母、数字和特殊字符各至少一个。提示:先生成必选字符,再随机填充剩余位数,最后打乱顺序。

总结与下一步

这一篇我们打开了 Python 自带的「工具箱」,认识了5个最常用的标准库模块。回顾一下学到的内容:

os / pathlib 操作文件路径和目录
datetime 处理日期、时间和时间差
random 生成随机数、随机抽样和洗牌
collections 的 Counter 和 defaultdict 让数据统计更高效
re 正则表达式用模式匹配处理文本
json 进阶和 csv 模块处理结构化数据

下一篇预告

综合项目——用前7篇学到的所有知识,做一个完整的「命令行待办事项管理器」,支持添加/删除/完成/搜索/统计,数据用 JSON 持久化。这将是一次全面的知识整合。

综合项目待办事项命令行工具

Rs知识库 · Python 零基础入门系列

觉得有用?点个「在看」支持一下 👇

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-03 14:15:30 HTTP/2.0 GET : https://f.mffb.com.cn/a/503207.html
  2. 运行时间 : 0.109881s [ 吞吐率:9.10req/s ] 内存消耗:4,993.66kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=c58f7597f84b8e838728b32aa4c62962
  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.000681s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000803s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000422s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000321s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000578s ]
  6. SELECT * FROM `set` [ RunTime:0.000312s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000684s ]
  8. SELECT * FROM `article` WHERE `id` = 503207 LIMIT 1 [ RunTime:0.000602s ]
  9. UPDATE `article` SET `lasttime` = 1783059330 WHERE `id` = 503207 [ RunTime:0.012859s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000316s ]
  11. SELECT * FROM `article` WHERE `id` < 503207 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000531s ]
  12. SELECT * FROM `article` WHERE `id` > 503207 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.004928s ]
  13. SELECT * FROM `article` WHERE `id` < 503207 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.007380s ]
  14. SELECT * FROM `article` WHERE `id` < 503207 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001316s ]
  15. SELECT * FROM `article` WHERE `id` < 503207 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.004556s ]
0.111430s