🐍

CLI Tool con Python

🧑‍🍳 Cocinero⏱️ 20 minutos

📋 Prerequisitos sugeridos

  • Terminal básica

Lo que vas a construir

Una herramienta de linea de comandos (CLI) en Python para gestionar tareas. Podrás escribir comandos como ./tasks.py add "Comprar leche" o ./tasks.py list directamente en tu terminal. Las tareas se guardarán en un archivo JSON. Es el primer paso para automatizar cualquier tarea repetitiva con scripts propios.


Paso 1: Verifica Python

python3 --version
# o
python --version

Si no lo tienes:


Paso 2: Pídele a una IA un CLI

Necesito un CLI en Python que:
- Use argparse para los comandos
- Tenga comandos: add, list, done, delete
- Guarde tareas en un archivo JSON
- Muestre colores en la salida

Dame el código completo.

Ejemplo de CLI básico

#!/usr/bin/env python3
import argparse
import json
from pathlib import Path

TASKS_FILE = Path.home() / ".tasks.json"

def load_tasks():
    if TASKS_FILE.exists():
        return json.loads(TASKS_FILE.read_text())
    return []

def save_tasks(tasks):
    TASKS_FILE.write_text(json.dumps(tasks, indent=2))

def add_task(text):
    tasks = load_tasks()
    tasks.append({"text": text, "done": False})
    save_tasks(tasks)
    print(f"✓ Tarea agregada: {text}")

def list_tasks():
    tasks = load_tasks()
    for i, task in enumerate(tasks, 1):
        status = "✓" if task["done"] else "○"
        print(f"{i}. [{status}] {task['text']}")

if __name__ == "__main__":
    parser = argparse.ArgumentParser(description="Gestor de tareas")
    parser.add_argument("command", choices=["add", "list"])
    parser.add_argument("text", nargs="?")

    args = parser.parse_args()

    if args.command == "add":
        add_task(args.text)
    elif args.command == "list":
        list_tasks()

Paso 3: Hazlo ejecutable

chmod +x tasks.py
./tasks.py add "Comprar leche"
./tasks.py list

Librerías útiles

LibreríaPara qué
argparseParsear argumentos (incluido)
clickCLI más elegante
richColores y tablas bonitas
requestsHacer HTTP requests

Si algo falló

ErrorCausaSolución
python: command not foundNo instaladoInstala Python
ModuleNotFoundErrorFalta libreríapip install librería
Permission deniedNo ejecutablechmod +x script.py

Próximo paso

Landing Page Responsive — Diseño web moderno