用Python打造简易命令行工具

在数字化时代,命令行工具以其高效、简洁的特性,成为开发者不可或缺的利器。今天,我们将一起探索如何用Python编写一个简单的命令行工具,让你在提升工作效率的同时,也能享受编程的乐趣。

用Python打造简易命令行工具

准备工作

首先,确保你的电脑上已安装Python环境。你可以通过在终端输入python --version来检查Python是否已安装及其版本。

第一步:明确需求

在动手编写命令行工具前,我们需要明确工具的功能。以一个简单的“待办事项管理器”为例,我们希望实现以下功能:

  1. 添加待办事项
  2. 显示所有待办事项
  3. 完成待办事项

第二步:构建基础框架

创建一个名为todo.py的文件,并导入必要的库:

import sys

def add_task(task):
    pass

def list_tasks():
    pass

def complete_task(task_id):
    pass

def main():
    if len(sys.argv) < 2:
        print("Usage: python todo.py [command] [options]")
        sys.exit(1)

    command = sys.argv[1]
    if command == "add":
        if len(sys.argv) != 3:
            print("Usage: python todo.py add [task]")
            sys.exit(1)
        add_task(sys.argv[2])
    elif command == "list":
        list_tasks()
    elif command == "complete":
        if len(sys.argv) != 3:
            print("Usage: python todo.py complete [task_id]")
            sys.exit(1)
        complete_task(int(sys.argv[2]))
    else:
        print("Unknown command")
        sys.exit(1)

if __name__ == "__main__":
    main()

第三步:实现功能

添加待办事项

我们需要一个地方来存储待办事项。这里使用一个简单的列表:

tasks = []

def add_task(task):
    tasks.append(task)
    print(f"Task '{task}' added.")

显示所有待办事项

展示当前所有待办事项:

def list_tasks():
    if not tasks:
        print("No tasks.")
    else:
        for idx, task in enumerate(tasks):
            print(f"{idx + 1}. {task}")

完成待办事项

根据任务ID完成待办事项:

def complete_task(task_id):
    if 1 <= task_id <= len(tasks):
        task = tasks.pop(task_id - 1)
        print(f"Task '{task}' completed.")
    else:
        print("Invalid task ID.")

第四步:测试工具

现在,我们可以通过命令行测试我们的工具:

python todo.py add "Write article"
python todo.py list
python todo.py complete 1

进阶:持久化存储

为了使待办事项在程序重启后依然存在,我们可以使用文件存储:

def save_tasks():
    with open("tasks.txt", "w") as f:
        for task in tasks:
            f.write(task + "\n")

def load_tasks():
    try:
        with open("tasks.txt", "r") as f:
            tasks.extend(f.read().strip().split("\n"))
    except FileNotFoundError:
        pass

def add_task(task):
    tasks.append(task)
    save_tasks()
    print(f"Task '{task}' added.")

def complete_task(task_id):
    if 1 <= task_id <= len(tasks):
        task = tasks.pop(task_id - 1)
        save_tasks()
        print(f"Task '{task}' completed.")
    else:
        print("Invalid task ID.")

if __name__ == "__main__":
    load_tasks()
    main()

通过以上步骤,我们成功编写了一个简单的命令行待办事项管理器。这不仅是一个实用的工具,更是你探索Python编程世界的起点。希望你能在此基础上,发挥创意,打造出更多有趣的命令行工具。编程的乐趣,正藏在这些不断探索与实现的过程中。

你可能想看:
« 上一篇
下一篇 »

相关推荐

python爬虫教程PDF,Python爬虫书PDF

2026年09月02日

31阅读

外国教程python,python编程教学视频

2026年09月02日

25阅读

python简明教程沈洁元,python详细基础教程

2026年09月02日

21阅读

python库包教程,python 包

2026年09月02日

27阅读

python教程大全集,python教程600集

2026年09月02日

26阅读

python入门教程完整版,python零基础入门全套教程视频

2026年09月02日

22阅读