Python 实现简单的命令行任务管理器
本文介绍如何使用 Python 构建一个基于命令行的任务管理工具。通过文件读写操作实现任务的持久化存储,支持添加、查看、删除及标记完成等核心功能,并演示了如何结合日期模块设置任务截止日期。
项目背景与用途
任务管理器是日常工作和生活中常用的效率工具。它的主要作用包括:
- 提高生产力:记录和跟踪任务,帮助更好地组织时间。
- 避免遗漏:不再依赖记忆,确保任务清单始终可用。
- 分析与优化:通过查看已完成的任务,分析工作习惯。
本项目旨在通过 Python 编写一个简单的命令行界面(CLI)应用,让初学者练习文件操作、用户输入处理和基础逻辑设计。
环境准备
在开始之前,请确保已安装 Python 3.x 版本,并具备以下基础:
- 基本的 Python 编程知识(变量、函数、循环、条件判断)。
- 命令行终端的使用经验。
- 文本编辑器或 IDE(如 VS Code, PyCharm)。
核心功能设计
我们将实现以下核心功能:
- 添加任务:输入任务描述,可选添加截止日期。
- 查看任务:列出当前所有任务及其状态。
- 删除任务:根据序号删除指定任务。
- 标记完成:将特定任务标记为已完成状态。
- 数据持久化:使用本地文本文件保存任务数据。
详细实现步骤
1. 初始化数据存储
我们需要一个文件来存储任务列表。建议使用 tasks.txt,每行存储一条任务信息。
import os
def init_file():
"""如果文件不存在则创建空文件"""
if not os.path.exists("tasks.txt"):
with open("tasks.txt", "w", encoding="utf-8") as f:
pass
2. 添加任务功能
允许用户输入任务描述,并可附加截止日期。为了便于解析,我们采用固定格式存储。
from datetime import datetime
def add_task():
task_desc = input("请输入任务描述:").strip()
if not task_desc:
()
has_deadline = ().lower() ==
deadline_str =
has_deadline:
deadline_str = ()
:
datetime.strptime(deadline_str, )
ValueError:
()
deadline_str =
(, , encoding=) f:
f.write()
()


