見出し画像

Pythonで簡単に作れる!コマンドラインで管理するTODOリストアプリの作り方


はじめに

皆さん、こんにちは!今回は、Pythonを使って簡単に作れるTODOリストアプリケーションの作り方をご紹介します。このアプリケーションは、コマンドラインでTODOリストを管理するシンプルなものです。Python初心者の方にもわかりやすいように、ステップバイステップで説明します。

必要なもの

  • Pythonがインストールされた環境

  • テキストエディタ(例:VSCode、Sublime Text)

コードの説明

まず、以下のPythonコードを todo.py という名前で保存します。このスクリプトは、TODOリストを管理するための基本的な機能を提供します。

import sys

TODO_FILE = 'todo.txt'

def load_todos():
    try:
        with open(TODO_FILE, 'r') as f:
            todos = [line.strip() for line in f.readlines()]
    except FileNotFoundError:
        todos = []
    return todos

def save_todos(todos):
    with open(TODO_FILE, 'w') as f:
        f.write('\n'.join(todos))

def list_todos():
    todos = load_todos()
    if not todos:
        print("TODOリストは空です。")
    else:
        print("TODOリスト:")
        for i, todo in enumerate(todos, 1):
            print(f"{i}. {todo}")

def add_todo(task):
    todos = load_todos()
    todos.append(task)
    save_todos(todos)
    print(f"追加しました: {task}")

def remove_todo(index):
    todos = load_todos()
    if 0 <= index < len(todos):
        removed = todos.pop(index)
        save_todos(todos)
        print(f"削除しました: {removed}")
    else:
        print("無効なインデックスです。")

def show_help():
    print("使用方法:")
    print("  python todo.py list            - TODOリストを表示")
    print("  python todo.py add <task>      - TODOリストにタスクを追加")
    print("  python todo.py remove <index>  - 指定したインデックスのタスクを削除")

if __name__ == '__main__':
    if len(sys.argv) < 2:
        show_help()
    else:
        command = sys.argv[1]
        if command == 'list':
            list_todos()
        elif command == 'add':
            if len(sys.argv) < 3:
                print("タスクの内容を指定してください。")
            else:
                task = ' '.join(sys.argv[2:])
                add_todo(task)
        elif command == 'remove':
            if len(sys.argv) < 3:
                print("削除するタスクのインデックスを指定してください。")
            else:
                try:
                    index = int(sys.argv[2]) - 1
                    remove_todo(index)
                except ValueError:
                    print("インデックスは数値で指定してください。")
        else:
            show_help()

コマンドの使い方

TODOリストを表示する

python todo.py list

タスクを追加する

python todo.py add "新しいタスク"

タスクを削除する

python todo.py remove 1

まとめ

このアプリケーションは、Pythonの基本的なファイル操作やリスト操作を学ぶ良い機会になります。また、コマンドラインでの操作に慣れることで、プログラミングのスキルアップにも繋がります。ぜひ、自分のTODOリストを作成してみてください!


【SNS】







この記事が気に入ったらサポートをしてみませんか?