Python Todo任务管理系统构建指南
开发
使用Python构建一个简单的Todo任务管理系统
介绍
本文将带你实现一个简单的基于命令行的Todo任务管理系统。该系统允许用户添加任务、查看任务列表、标记任务为完成以及删除任务。通过这个项目,你可以熟悉Python基本的数据结构和文件操作。
第一步:系统功能分析
我们需要实现以下功能:
- 添加任务。
- 展示所有任务。
- 标记任务完成。
- 删除任务。
我们将使用Python中的文本文件进行数据持久化,以确保任务列表在程序关闭后仍然可用。
第二步:项目结构
我们的项目将由以下几个部分组成:
todo_manager.py
: 主程序文件。tasks.txt
: 用于存储任务列表。
第三步:编码实现
以下是完整代码和步骤:
-
初始化项目 创建一个名为
todo_manager.py
的文件,并创建一个空的tasks.txt
文件用于存储任务。# todo_manager.py import os # 文件路径 TASKS_FILE = "tasks.txt" # 检查并创建任务文件 if not os.path.exists(TASKS_FILE): open(TASKS_FILE, 'w').close()
-
定义基础功能
设置函数来处理任务添加、查看、标记完成等功能。
def load_tasks(): """从文件加载任务列表""" with open(TASKS_FILE, "r") as file: tasks = [line.strip() for line in file.readlines()] return tasks def save_tasks(tasks): """保存任务列表到文件""" with open(TASKS_FILE, "w") as file: for task in tasks: file.write(task + "\n")
-
功能实现
-
添加任务
def add_task(task): """添加任务到列表""" tasks = load_tasks() tasks.append(f"[ ] {task}") # [ ] 表示未完成状态 save_tasks(tasks) print(f"任务 '{task}' 已添加!")
-
查看任务
def view_tasks(): """展示所有任务""" tasks = load_tasks() if not tasks: print("当前没有任务!") else: for i, task in enumerate(tasks, start=1): print(f"{i}. {task}")
-
标记任务完成
def complete_task(index): """标记任务为完成""" tasks = load_tasks() if 0 < index <= len(tasks): task = tasks[index - 1] if "[X]" in task: print("任务已经完成过!") else: tasks[index - 1] = task.replace("[ ]", "[X]") save_tasks(tasks) print(f"任务 '{task}' 已标记为完成!") else: print("任务索引无效!")
-
删除任务
def delete_task(index): """删除任务""" tasks = load_tasks() if 0 < index <= len(tasks): task = tasks.pop(index - 1) save_tasks(tasks) print(f"任务 '{task}' 已删除!") else: print("任务索引无效!")
-
-
主菜单 最后,编写主菜单,供用户选择操作:
def main(): while True: print("\nTodo任务管理系统") print("1. 添加任务") print("2. 查看任务") print("3. 标记任务完成") print("4. 删除任务") print("5. 退出") choice = input("请选择操作(1-5): ") if choice == "1": task = input("请输入任务内容: ") add_task(task) elif choice == "2": view_tasks() elif choice == "3": index = int(input("请输入要标记完成的任务索引: ")) complete_task(index) elif choice == "4": index = int(input("请输入要删除的任务索引: ")) delete_task(index) elif choice == "5": print("感谢使用,程序退出!") break else: print("无效选择,请重试!") if __name__ == "__main__": main()
第四步:运行与测试
-
在终端中运行
todo_manager.py
文件。python todo_manager.py
-
测试以下功能:
- 添加任务,例如输入任务
学习Python
。 - 查看任务列表,确认任务已添加。
- 标记任务完成并再次查看。
- 删除任务并确认任务列表更新。
- 添加任务,例如输入任务
第五步:进阶
可以尝试以下改进:
- 添加任务的截止日期。
- 为任务添加优先级标签。
- 使用SQLite数据库代替文本文件以提升性能和功能扩展性。
- 创建图形用户界面(GUI)或网页界面。
总结
通过实现这个项目,你可以练习Python的文件操作、列表处理以及基础交互逻辑。希望你能从中获得乐趣并进一步探索更多高级功能!
编辑:一起学习网