Rullst AcademyRullst Academy/Lección
Python: de la primera línea al proyecto · Lección 10 / 12

Archivos que recuerdan al cerrar

La memoria del programa termina al cerrarse. Un archivo permite reencontrar los datos si comprobamos la escritura y la lectura.

Rutas de aprendizaje12 min

Vamos a descubrir juntos

  1. 1

    JSON es un formato de texto para datos. Python usa False; JSON usa false. json.dump y json.load traducen valores compatibles, como listas, diccionarios, números y booleanos.

  2. 2

    En la versión 1, Path apunta a my-missions.json en la carpeta actual de la terminal. open("x") crea un archivo nuevo y falla si ya existe. with cierra el archivo al salir del bloque.

  3. 3

    El segundo bloque abre el archivo para leer con UTF-8; json.load recupera los datos. Ejecuta en una carpeta de práctica. Para repetir, elige otro nombre o conserva el archivo anterior; no cambies a "w" sin entender que reemplaza el contenido.

  4. 4

    JSON válido no garantiza datos adecuados: "minutes": "diez" sigue siendo texto. El proyecto final comprueba campos y tipos. Un archivo guardado no es automáticamente una copia de seguridad ni un envío a GitHub.

✦
TU MISIÓN

Guardar y releer datos JSON; distinguir persistencia, validación y copia de seguridad.

Ahora te toca

Taller de descubrimientos

Lee, predice, comprueba

Compara las dos versiones. Mostrar resultado revela una salida preparada: este panel no ejecuta Python. Después practica con el archivo de la actividad.
Mini experimento

Simulación didáctica: compara tarjetas y comprueba tus predicciones. El navegador no compila Rust ni inicia un servidor.

import json
from pathlib import Path

tasks = [{"title": "Tico", "minutes": 10, "done": False}]
path = Path("my-missions.json")
with path.open("x", encoding="utf-8") as file:
    json.dump(tasks, file)
with path.open(encoding="utf-8") as file:
    restored = json.load(file)
print(restored[0]["minutes"])
Prepara tus respuestas y comprueba cuando estés listo.
Una pausa para entender

¿Qué hace open("x") cuando el archivo ya existe?

Necesito una pista

El modo x es creación exclusiva, no sobrescritura.

Cargando tu camino…

Llévatelo contigo

Ejecuta en la carpeta de práctica y abre my-missions.json en el editor. Ejecuta otra vez y observa FileExistsError. Comprueba que se conservó el primer archivo. Después cambia el nombre de salida y una duración y repite.

PYTHON · .py

Tu espacio de práctica Python

Aquí lees y predices salidas preparadas. Para ejecutar el código real, descarga el archivo, edítalo en el ordenador y usa Python. Rullst Academy evalúa las respuestas de la lección; no verifica la ejecución local.

Guardar y ejecutar

Extrae el ZIP de la actividad en su propia carpeta. Abre la terminal allí y usa el comando de tu sistema. Si descargas el archivo editado por separado, usa su nombre real en el comando. Guarda antes de volver a ejecutar.

Windows
python lesson.py
macOS / Ubuntu
python3 lesson.py
Mis archivos y GitHub

El editor conserva un borrador local y puede enviar un archivo .py a GitHub con tu confirmación. Descarga tu código editado para conservarlo. El ZIP es material inicial; en el proyecto final publica también datos y pruebas siguiendo PUBLISH.md.

A tu ritmo

Mis archivos y GitHub

Cada lección puede convertirse en un registro propio: código, notas o un plan de práctica. Guardar un archivo en GitHub es opcional y no cambia tus XP.

Manual del alumno

El editor y las descargas se abren cuando esta lección esté disponible para tu cuenta. Revisa el acceso indicado abajo o vuelve al mapa de la ruta.

Comprobando tu acceso a esta lección…

Rullstpetbot

La IA puede equivocarse. Consulta el material de la lección.