本篇为Python零基础实用工具实战,教你制作可本地保存的Python待办事项管理器,支持增、删、查、改四大功能,数据永久保存不丢失,新手快速掌握文件操作与列表核心用法!

图1:功能架构与运行流程
一、工具功能说明
这是一个轻量级本地任务管理工具,使用Python原生代码开发,无需数据库、无需第三方库,所有数据自动保存到本地文件。操作简单、稳定性强,非常适合学习、工作中记录日常任务,也是零基础入门Python的绝佳实战项目。
- 添加任务:输入内容即可保存,自动校验非空
- 查看任务:按序号展示所有事项,排版清晰
- 删除任务:按序号精准删除,实时更新文件
- 修改任务:快速编辑内容,支持修改对比
- 本地持久化:关闭程序不丢失数据
- 异常处理:拦截错误输入,程序不崩溃
二、完整可运行代码
以下代码可直接复制运行,兼容Python3.6及以上版本,结构清晰、注释完整,适合零基础直接上手。
# Python待办事项管理器
import osFILE_NAME = “todo.txt”def init_file():
if not os.path.exists(FILE_NAME):
with open(FILE_NAME, “w”, encoding=”utf-8″) as f:
passdef load_todo():
init_file()
with open(FILE_NAME, “r”, encoding=”utf-8″) as f:
return [line.strip() for line in f if line.strip()]def save_todo(todo_list):
with open(FILE_NAME, “w”, encoding=”utf-8″) as f:
for todo in todo_list:
f.write(todo + “\n”)def add_todo(content):
todo_list = load_todo()
todo_list.append(content)
save_todo(todo_list)
print(f” 已添加:{content}”)def show_todo():
todo_list = load_todo()
if not todo_list:
print(” 暂无任务”)
return
print(“\n 任务列表:”)
print(“-” * 40)
for i, t in enumerate(todo_list, 1):
print(f”{i}. {t}”)
print(“-” * 40)def del_todo(num):
todo_list = load_todo()
if 1 <= num <= len(todo_list):
deleted = todo_list.pop(num-1)
save_todo(todo_list)
print(f” 已删除:{deleted}”)
else:
print(” 序号无效”)def edit_todo(num, new_content):
todo_list = load_todo()
if 1 <= num <= len(todo_list):
old = todo_list[num-1]
todo_list[num-1] = new_content
save_todo(todo_list)
print(f” 已修改:{old} → {new_content}”)
else:
print(” 序号无效”)def main():
print(“=” * 40)
print(” 任务管理器”)
print(“1-添加 2-查看 3-删除 4-修改 0-退出”)
print(“=” * 40)
while True:
try:
choice = int(input(“\n请输入操作序号:”))
if choice == 0:
print(” 已退出”)
break
elif choice == 1:
c = input(“请输入内容:”)
if c.strip(): add_todo(c)
else: print(” 内容不能为空”)
elif choice == 2:
show_todo()
elif choice == 3:
show_todo()
del_todo(int(input(“输入删除序号:”)))
elif choice == 4:
show_todo()
n = int(input(“输入修改序号:”))
nc = input(” 输入新内容:”)
if nc.strip(): edit_todo(n, nc)
else: print(” 内容不能为空”)
else:
print(” 请输入0-4″)
except ValueError:
print(” 请输入数字”)if __name__ == “__main__”:
main()
import osFILE_NAME = “todo.txt”def init_file():
if not os.path.exists(FILE_NAME):
with open(FILE_NAME, “w”, encoding=”utf-8″) as f:
passdef load_todo():
init_file()
with open(FILE_NAME, “r”, encoding=”utf-8″) as f:
return [line.strip() for line in f if line.strip()]def save_todo(todo_list):
with open(FILE_NAME, “w”, encoding=”utf-8″) as f:
for todo in todo_list:
f.write(todo + “\n”)def add_todo(content):
todo_list = load_todo()
todo_list.append(content)
save_todo(todo_list)
print(f” 已添加:{content}”)def show_todo():
todo_list = load_todo()
if not todo_list:
print(” 暂无任务”)
return
print(“\n 任务列表:”)
print(“-” * 40)
for i, t in enumerate(todo_list, 1):
print(f”{i}. {t}”)
print(“-” * 40)def del_todo(num):
todo_list = load_todo()
if 1 <= num <= len(todo_list):
deleted = todo_list.pop(num-1)
save_todo(todo_list)
print(f” 已删除:{deleted}”)
else:
print(” 序号无效”)def edit_todo(num, new_content):
todo_list = load_todo()
if 1 <= num <= len(todo_list):
old = todo_list[num-1]
todo_list[num-1] = new_content
save_todo(todo_list)
print(f” 已修改:{old} → {new_content}”)
else:
print(” 序号无效”)def main():
print(“=” * 40)
print(” 任务管理器”)
print(“1-添加 2-查看 3-删除 4-修改 0-退出”)
print(“=” * 40)
while True:
try:
choice = int(input(“\n请输入操作序号:”))
if choice == 0:
print(” 已退出”)
break
elif choice == 1:
c = input(“请输入内容:”)
if c.strip(): add_todo(c)
else: print(” 内容不能为空”)
elif choice == 2:
show_todo()
elif choice == 3:
show_todo()
del_todo(int(input(“输入删除序号:”)))
elif choice == 4:
show_todo()
n = int(input(“输入修改序号:”))
nc = input(” 输入新内容:”)
if nc.strip(): edit_todo(n, nc)
else: print(” 内容不能为空”)
else:
print(” 请输入0-4″)
except ValueError:
print(” 请输入数字”)if __name__ == “__main__”:
main()

图2:控制台操作演示
三、运行效果演示
========================================
任务管理器
1-添加 2-查看 3-删除 4-修改 0-退出
========================================
请输入操作序号:1
请输入内容:学习Python
已添加:学习Python请输入操作序号:2
任务列表:
—————————————-
1. 学习Python
—————————————-
任务管理器
1-添加 2-查看 3-删除 4-修改 0-退出
========================================
请输入操作序号:1
请输入内容:学习Python
已添加:学习Python请输入操作序号:2
任务列表:
—————————————-
1. 学习Python
—————————————-
四、核心知识点
- 文件操作:open、with语句自动关闭文件
- 列表操作:append、pop、索引修改
- 函数封装:功能模块化,便于维护
- 异常处理:try-except捕获输入错误
- 中文编码:utf-8 避免乱码

图3:本地文件保存效果
五、进阶扩展方向
学会基础版本后,可以继续扩展功能,提升实战能力:
- 任务完成状态标记
- 自动添加创建时间
- 关键词搜索任务
- 图形化GUI界面
- 数据自动备份
六、常见问题解答
- 找不到todo.txt:在代码同一目录下
- 中文乱码:确保编码为utf-8
- 序号错误:必须输入列表中存在的数字
- 修改保存路径:直接修改FILE_NAME为绝对路径
七、项目学习价值
这个项目是Python零基础最适合上手的实战案例,不需要复杂环境,不需要安装库,只需要基础语法知识就能完成。通过它可以快速理解数据存储、函数使用、用户交互等核心逻辑,为以后开发更复杂的项目打下扎实基础。
很多初学者都是从这类小工具开始,逐步建立编程思维,提升代码能力。
八、同类工具扩展思路
掌握本项目后,你可以用相同逻辑开发:
- 个人记账本:记录收入支出,统计金额
- 简易记事本:保存文字笔记,支持增删改
- 通讯录工具:保存姓名、电话、备注
小贴士:
1. 数据保存在todo.txt,可直接用记事本打开编辑;
2. 代码纯原生,无任何依赖,复制即可运行;
3. 适合零基础练手,也可日常真实使用。
1. 数据保存在todo.txt,可直接用记事本打开编辑;
2. 代码纯原生,无任何依赖,复制即可运行;
3. 适合零基础练手,也可日常真实使用。
本文来自小白编程笔记,属于Python零基础实战系列。更多入门教程,欢迎关注阅读往期内容。
本文为「小白编程笔记」原创内容 · Python零基础入门实战
禁止未经授权转载、抄袭、洗稿,违者必究!
禁止未经授权转载、抄袭、洗稿,违者必究!
文章标签:
Python待办事项管理器
Python文件操作
Python实战
Python入门
Python待办事项管理器
Python文件操作
Python实战
Python入门

渝公网安备50022402001073号
Pingback: Python 经典实战案例 10 篇技术专栏目录 - 小白 编程 笔记
Pingback: Python 实战案例:10 篇经典技术专栏全目录 - 小白 编程 笔记
Pingback: Python 实战案例:10 篇经典技术专栏全目录,零基础从入门到实战 - 小白 编程 笔记