当前位置:首页>python>Python 入门 09:毕业典礼!为你的图书管理系统画上完美句号

Python 入门 09:毕业典礼!为你的图书管理系统画上完美句号

  • 2026-03-28 15:50:13
Python 入门 09:毕业典礼!为你的图书管理系统画上完美句号

前言

各位勇敢的编程探险家,恭喜你们坚持到了最后!🎉

“我做到了”

还记得我们第一次见面时的情景吗?那时,你面对杂乱的电子书文件夹束手无策,对 Python 的认识可能还停留在“一条大蟒蛇”……

而现在,你亲手打造了一个功能齐全的图书管理系统!它能够:

  • 📖 记住 你的每一本藏书

  • 🔍 秒速找到 任何你想看的书

  • ✏️ 随时更新 书籍信息

  • 🗑️ 安全删除 不再需要的书籍

  • 💾 永久保存 所有数据

这就像看着自己的孩子从蹒跚学步到奔跑如飞——老父亲/老母亲的泪水都要流下来了!

但是,就像任何好故事一样,结局往往意味着新的开始。今天,让我们为这个项目画上一个完美的句号,同时打开通往更广阔世界的大门!


项目完善与扩展思考

1. 统计功能:给你的书库做一次“全面体检”

是时候了解一下我们的阅读“家底”了!让我们添加一些酷炫的统计功能:

defshow_statistics(library):"""显示书库统计信息"""ifnot library:        print("书库是空的,暂无统计信息。")return    total_books = len(library)# 作者统计    authors = {}for book in library:        author = book['author']        authors[author] = authors.get(author, 0) + 1# 分类统计    genres = {}for book in library:        genre = book['genre']        genres[genre] = genres.get(genre, 0) + 1# 评分统计    ratings = [book['rating'for book in library]    avg_rating = sum(ratings) / len(ratings) if ratings else0    best_book = max(library, key=lambda x: x['rating']) if library elseNone    print("\n📊 书库统计报告")    print("=" * 40)    print(f"藏书总量:{total_books} 本")    print(f"平均评分:{avg_rating:.1f} 分")    print(f"\n👑 最爱作者TOP3:")    sorted_authors = sorted(authors.items(), key=lambda x: x[1], reverse=True)[:3]for author, count in sorted_authors:        print(f"  {author}{count} 本")    print(f"\n📚 热门分类:")for genre, count in list(genres.items())[:5]:        print(f"  {genre}{count} 本")if best_book:        print(f"\n⭐ 评分之王:")        print(f"  《{best_book['title']}》 - {best_book['rating']} 分")

运行这个功能,你会得到一份漂亮的阅读报告——原来我这么喜欢刘慈欣,原来科幻类藏书最多!

2. 排序功能:让书籍按你的心意排列

有时候,我们想看看评分最高的书,或者按书名排序:

defsort_books(library):"""排序显示书籍"""ifnot library:        print("书库是空的。")return    print("\n排序方式:")    print("1. 按评分从高到低")    print("2. 按书名A-Z")    print("3. 按作者A-Z")    choice = input("请选择排序方式 (1-3): ").strip()if choice == "1":        sorted_library = sorted(library, key=lambda x: x['rating'], reverse=True)        print("\n⭐ 评分排行榜:")elif choice == "2":        sorted_library = sorted(library, key=lambda x: x['title'])        print("\n📖 按书名排序:")elif choice == "3":        sorted_library = sorted(library, key=lambda x: x['author'])        print("\n✍️ 按作者排序:")else:        print("无效选择!")return    display_all_books(sorted_library)

3. 最终整合:你的第一个专业级软件

现在,让我们把所有这些功能整合到最终版主菜单中:

defmain():"""终极版主程序"""    book_library = load_library()    print(f"🎉 欢迎使用终极图书管理系统!")    print(f"   当前书库有 {len(book_library)} 本书,继续探索知识的海洋吧!")whileTrue:        print("\n" + "=" * 40)        print("           终极图书管理系统")        print("=" * 40)        print("1. 显示所有书籍")        print("2. 添加新书")        print("3. 搜索书籍")        print("4. 删除书籍")        print("5. 修改书籍")        print("6. 书库统计")        print("7. 排序显示")        print("8. 退出系统")        print("=" * 40)        choice = get_user_choice()if choice == 1:            display_all_books(book_library)elif choice == 2:            add_book(book_library)elif choice == 3:            search_books(book_library)elif choice == 4:            delete_book(book_library)elif choice == 5:            modify_book(book_library)elif choice == 6:            show_statistics(book_library)elif choice == 7:            sort_books(book_library)elif choice == 8:            save_library(book_library)            print("感谢使用,愿阅读永远陪伴你!📚✨")breakelse:            print("无效选择,请输入1-8之间的数字!")

看!8 大功能,完整的管理系统——这就是你从零开始创造的奇迹!


你走过的路,比代码更珍贵

回顾这 9 章的学习旅程,你收获的不仅仅是一个图书管理系统:

🎯 你掌握了 Python 核心概念:

  • 变量、数据类型(字符串、列表、字典)

  • 流程控制(条件判断、循环)

  • 函数定义与模块化

  • 文件操作与异常处理

  • 代码调试与优化

🚀 你培养了真正的编程思维:

  • 问题拆解能力(把大问题变成小功能)

  • 系统设计思维(数据流、功能架构)

  • 用户体验意识(安全确认、错误提示)

  • 代码整洁之道(函数化、注释、文档)

最重要的是,你证明了“我能行”! 在无数人还在犹豫时,你已经用行动给出了最好的回答。


下一站:星辰大海

你的编程之旅才刚刚开始!这里有一些建议:

🛠️ 立即可以做的:

  • 为系统添加“借阅记录”功能

  • 实现“愿望清单”模块

  • 添加“书籍推荐”算法(基于分类或评分)

🌍 扩展学习方向:

  • Web 开发:用 Django 或 Flask 把系统做成网站

  • 数据分析:用 pandas 分析你的阅读习惯

  • GUI 开发:用 Tkinter 或 PyQt 制作图形界面

  • 爬虫技术:自动从豆瓣获取书籍信息和评分


结语

Python 入门系列的所有内容就到此结束了,下一篇文章将是全系列导航文章,欢迎继续关注!

愿你我保持好奇,保持勇敢,在代码的世界里继续探索,继续创造。

我们,在更高的山峰再见!👋


以下是完整版代码:

import json# === 数据层函数 ===defload_library():"""加载书库数据"""try:with open("my_library.json""r", encoding="utf-8"as file:return json.load(file)except FileNotFoundError:return []defsave_library(library):"""保存书库数据"""with open("my_library.json""w", encoding="utf-8"as file:        json.dump(library, file, ensure_ascii=False, indent=4)# === 功能层函数 ===defdisplay_all_books(library):"""功能1:显示书库中的所有书籍"""ifnot library:        print("书库是空的,快去添加几本书吧!")return    print(f"\n当前共有 {len(library)} 本书:")    print("=" * 40)for i, book in enumerate(library, 1):        print(f"{i}. 《{book['title']}》")        print(f"   作者:{book['author']}")        print(f"   分类:{book['genre']}")        print(f"   评分:{book['rating']}")        print("-" * 20)defadd_book(library):"""功能2:添加新书"""    print("\n--- 添加新书 ---")    title = input("请输入书名: ").strip()    author = input("请输入作者: ").strip()    genre = input("请输入分类: ").strip()ifnot title ornot author:        print("书名和作者不能为空!")returntry:        rating = float(input("请输入评分 (0-5): "))ifnot0 <= rating <= 5:            print("评分必须在0-5之间!")returnexcept ValueError:        print("评分必须是数字!")return    new_book = {"title": title,"author": author,"genre": genre,"rating": rating    }    library.append(new_book)    save_library(library)    print(f"✅ 《{title}》添加成功!")defsearch_books(library):"""功能3:搜索书籍"""    keyword = input("请输入书名或作者关键词: ").strip()ifnot keyword:        print("关键词不能为空!")return    found_books = []for book in library:if (keyword in book['title'or            keyword in book['author'or                keyword in book['genre']):            found_books.append(book)if found_books:        print(f"\n找到 {len(found_books)} 本相关书籍:")        display_all_books(found_books)  # 复用显示函数!else:        print("🔍 没有找到相关书籍。")defdelete_book(library):"""功能4:删除书籍(带安全确认)"""ifnot library:        print("书库是空的,没什么可删除的。")return# 先显示所有书籍,让用户知道该删哪本    display_all_books(library)try:        book_num = int(input("\n请输入要删除的书籍编号: "))if book_num < 1or book_num > len(library):            print("无效的编号!")returnexcept ValueError:        print("请输入有效的数字!")return# 找到要删除的书    target_book = library[book_num - 1]# 重要:二次确认!    print(f"\n⚠️  即将删除:《{target_book['title']}》")    confirm = input("确定要删除吗?(输入 'yes' 确认): ").strip().lower()if confirm == 'yes':        removed_book = library.pop(book_num - 1)        save_library(library)  # 立即保存        print(f"✅ 已删除《{removed_book['title']}》")else:        print("❌ 取消删除操作")defmodify_book(library):"""功能5:修改书籍信息"""ifnot library:        print("书库是空的。")return    display_all_books(library)try:        book_num = int(input("\n请输入要修改的书籍编号: "))if book_num < 1or book_num > len(library):            print("无效的编号!")returnexcept ValueError:        print("请输入有效的数字!")return    target_book = library[book_num - 1]    print(f"\n当前修改的是:《{target_book['title']}》")# 逐项修改,如果用户直接回车就保留原值    new_title = input(f"新书名 (当前: {target_book['title']}) [直接回车保持不变]: ").strip()    new_author = input(f"新作者 (当前: {target_book['author']}) [直接回车保持不变]: ").strip()    new_genre = input(f"新分类 (当前: {target_book['genre']}) [直接回车保持不变]: ").strip()    new_rating = input(f"新评分 (当前: {target_book['rating']}) [直接回车保持不变]: ").strip()# 更新信息(只有用户输入了新内容才更新)if new_title:        target_book['title'] = new_titleif new_author:        target_book['author'] = new_authorif new_genre:        target_book['genre'] = new_genreif new_rating:try:            target_book['rating'] = float(new_rating)except ValueError:            print("评分必须是数字,该项修改失败!")    save_library(library)    print("✅ 书籍信息更新成功!")defshow_statistics(library):"""功能6:显示书库统计信息"""ifnot library:        print("书库是空的,暂无统计信息。")return    total_books = len(library)# 作者统计    authors = {}for book in library:        author = book['author']        authors[author] = authors.get(author, 0) + 1# 分类统计    genres = {}for book in library:        genre = book['genre']        genres[genre] = genres.get(genre, 0) + 1# 评分统计    ratings = [book['rating'for book in library]    avg_rating = sum(ratings) / len(ratings) if ratings else0    best_book = max(library, key=lambda x: x['rating']) if library elseNone    print("\n📊 书库统计报告")    print("=" * 40)    print(f"藏书总量:{total_books} 本")    print(f"平均评分:{avg_rating:.1f} 分")    print(f"\n👑 最爱作者TOP3:")    sorted_authors = sorted(        authors.items(), key=lambda x: x[1], reverse=True)[:3]for author, count in sorted_authors:        print(f"  {author}{count} 本")    print(f"\n📚 热门分类:")for genre, count in list(genres.items())[:5]:        print(f"  {genre}{count} 本")if best_book:        print(f"\n⭐ 评分之王:")        print(f"  《{best_book['title']}》 - {best_book['rating']} 分")defsort_books(library):"""功能7:排序显示书籍"""ifnot library:        print("书库是空的。")return    print("\n排序方式:")    print("1. 按评分从高到低")    print("2. 按书名A-Z")    print("3. 按作者A-Z")    choice = input("请选择排序方式 (1-3): ").strip()if choice == "1":        sorted_library = sorted(            library, key=lambda x: x['rating'], reverse=True)        print("\n⭐ 评分排行榜:")elif choice == "2":        sorted_library = sorted(library, key=lambda x: x['title'])        print("\n📖 按书名排序:")elif choice == "3":        sorted_library = sorted(library, key=lambda x: x['author'])        print("\n✍️ 按作者排序:")else:        print("无效选择!")return    display_all_books(sorted_library)# === 主程序 ===defget_user_choice():"""安全获取用户选择"""whileTrue:try:            choice = int(input("请选择功能 (1-8): ").strip())return choiceexcept ValueError:            print("请输入1-8之间的数字!")defget_book_number(library, prompt):"""安全获取书籍编号"""whileTrue:try:            num = int(input(prompt).strip())if1 <= num <= len(library):return numelse:                print(f"请输入1-{len(library)}之间的有效编号!")except ValueError:            print("请输入有效的数字!")defmain():"""终极版主程序"""    book_library = load_library()    print(f"🎉 欢迎使用终极图书管理系统!")    print(f"   当前书库有 {len(book_library)} 本书,继续探索知识的海洋吧!")whileTrue:        print("\n" + "=" * 40)        print("           终极图书管理系统")        print("=" * 40)        print("1. 显示所有书籍")        print("2. 添加新书")        print("3. 搜索书籍")        print("4. 删除书籍")        print("5. 修改书籍")        print("6. 书库统计")        print("7. 排序显示")        print("8. 退出系统")        print("=" * 40)        choice = get_user_choice()if choice == 1:            display_all_books(book_library)elif choice == 2:            add_book(book_library)elif choice == 3:            search_books(book_library)elif choice == 4:            delete_book(book_library)elif choice == 5:            modify_book(book_library)elif choice == 6:            show_statistics(book_library)elif choice == 7:            sort_books(book_library)elif choice == 8:            save_library(book_library)            print("感谢使用,愿阅读永远陪伴你!📚✨")breakelse:            print("无效选择,请输入1-8之间的数字!")# 程序入口if __name__ == "__main__":    main()

免责声明:本教程所有内容均为编程学习目的,所提及书籍名称及作者均为示例。请尊重知识产权,支持正版电子书。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-03-28 16:12:37 HTTP/2.0 GET : https://f.mffb.com.cn/a/483536.html
  2. 运行时间 : 0.144681s [ 吞吐率:6.91req/s ] 内存消耗:4,990.97kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=b539831a271052f0d1f0e2938e2e72ce
  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.000472s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000774s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000268s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000345s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000535s ]
  6. SELECT * FROM `set` [ RunTime:0.000231s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000538s ]
  8. SELECT * FROM `article` WHERE `id` = 483536 LIMIT 1 [ RunTime:0.001962s ]
  9. UPDATE `article` SET `lasttime` = 1774685557 WHERE `id` = 483536 [ RunTime:0.015007s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000307s ]
  11. SELECT * FROM `article` WHERE `id` < 483536 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000574s ]
  12. SELECT * FROM `article` WHERE `id` > 483536 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.004509s ]
  13. SELECT * FROM `article` WHERE `id` < 483536 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001046s ]
  14. SELECT * FROM `article` WHERE `id` < 483536 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000841s ]
  15. SELECT * FROM `article` WHERE `id` < 483536 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000945s ]
0.146431s