
实战系列Python零基础综合实战项目第1/5套 项目定位零基础第一个完整工程级项目告别零散代码片段本项目整合你前面学的循环、分支、函数、列表、文件读写、异常处理做成一个可长期使用、数据永久保存的控制台记事本工具。✅ 项目难度⭐ 入门友好✅ 前置知识1–14章全套基础✅ 学到的核心能力真实项目需求拆解能力数据持久化程序关闭数据不丢菜单交互系统设计函数模块化拆分代码异常容错、防崩溃处理一、项目需求说明制作一个终端记事本工具具备以下功能添加新笔记查看所有笔记根据序号删除指定笔记自动保存到本地 note_list.txt程序重启自动加载历史笔记输入错误不崩溃友好提示循环菜单可一直操作支持退出二、项目架构拆解核心思维新手写代码最大问题一堆代码堆在一起我们规范拆分 5 大模块函数load_note()加载本地文件数据save_note()保存数据到本地文件add_note()新增笔记功能show_note()展示全部笔记del_note()删除指定笔记主程序while 循环菜单调度所有功能。三、完整可运行源码超详细注释# # 项目Python简易记事本持久化版 # 功能增、删、查、自动保存、自动加载 # 全局文件路径 FILE_PATH note_list.txt def load_note(): 加载本地笔记文件不存在则返回空列表 try: with open(FILE_PATH, r, encodingutf-8) as f: # 读取每一行去除换行符过滤空行 data [line.strip() for line in f.readlines() if line.strip()] return data except FileNotFoundError: # 文件不存在首次运行返回空列表 return [] except Exception as e: print(读取文件异常, e) return [] def save_note(note_list): 保存笔记列表到本地文件 with open(FILE_PATH, w, encodingutf-8) as f: for note in note_list: f.write(note \n) def add_note(): 新增笔记 content input(请输入新笔记内容) note_list load_note() note_list.append(content) save_note(note_list) print(✅ 笔记添加成功) def show_note(): 展示所有笔记 note_list load_note() if not note_list: print( 暂无任何笔记) return print(\n 我的笔记列表 ) for index, item in enumerate(note_list, start1): print(f{index}. {item}) print(\n) def del_note(): 根据序号删除笔记 note_list load_note() if not note_list: print(暂无笔记无需删除) return show_note() try: num int(input(请输入要删除的笔记序号)) # 判断序号合法范围 if 1 num len(note_list): del note_list[num - 1] save_note(note_list) print(✅ 删除成功) else: print(❌ 序号超出范围) except ValueError: print(❌ 请输入合法数字) def main(): 主菜单系统 print( 欢迎使用简易记事本 ) while True: print(\n【1】新增笔记) print(【2】查看全部笔记) print(【3】删除笔记) print(【0】退出程序) choice input(请输入功能序号) if choice 1: add_note() elif choice 2: show_note() elif choice 3: del_note() elif choice 0: print( 感谢使用程序退出) break else: print(❌ 输入有误请选择正确序号) 程序入口 if name main: main()四、项目运行效果首次运行自动创建 note_list.txt新增笔记 → 自动保存到文件查看笔记 → 读取文件展示删除笔记 → 修改文件并更新关闭程序重启数据永久保留五、核心知识点复盘文件持久化内存数据 和 磁盘数据区别模块化编程一个功能一个函数异常处理文件不存在、输入非数字容错enumerate 遍历带序号展示列表while 菜单框架几乎所有管理系统的通用模板六、课后拓展作业必做提升极强给笔记增加时间戳每条笔记自动记录创建时间增加搜索笔记功能输入关键词匹配内容增加修改笔记功能根据序号修改内容增加清空所有笔记功能