Uso de la declaración 'with' en Python

PythonPythonBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En un reino del cielo fantástico que flota entre la serenidad de las nubes blancas esponjadas, existe una guilda de aventureros de las nubes que explora los rincones menos visitados de su dominio aéreo. Usted es un miembro distinguido de esta guilda, conocido por su sabiduría y valentía. Su próxima misión es recuperar el Antiguo Manuscrito de Manejo Seguro, un artefacto antiguo que contiene los secretos para manipular los recursos del cielo sin dejar rastros que perturben el delicado equilibrio del reino.

Como aventurero de las nubes, su objetivo es dominar una poderosa construcción de Python conocida como la instrucción with, que proporciona una forma de garantizar que los recursos se manejen y liberen adecuadamente. Esta habilidad será crucial para preservar la armonía de los cielos mientras usted utiliza sus habilidades de programación para navegar por las nubes y descifrar los manuscritos que encuentra.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/FileHandlingGroup(["File Handling"]) python/FileHandlingGroup -.-> python/with_statement("Using with Statement") subgraph Lab Skills python/with_statement -.-> lab-271608{{"Uso de la declaración 'with' en Python"}} end

Explorando la instrucción with

En este paso, comenzarás tu viaje explorando la instrucción with en Python. La instrucción with simplifica el manejo de excepciones al encapsular tareas de preparación y limpieza comunes en lo que se llaman administradores de contexto. Tu primera tarea es leer un archivo que contiene el mapa de la ubicación del Antiguo Manuscrito y asegurarte de que se cierre correctamente después de usarlo.

Ahora, lee el contenido del archivo /home/labex/project/map.txt usando la instrucción with en /home/labex/project/map.py:

## Código de Python para leer 'map.txt'
with open('/home/labex/project/map.txt', 'r') as file:
    print(file.read())

Esto abrirá y cerrará el archivo de manera segura, incluso si ocurre un error mientras se lee su contenido:

La información siguiente debe aparecer en tu terminal:

Cruza los Acantilados Cumulus, atraviesa el Barranco Nebloso y entra en las Cuevas Estratos

Escribir en un archivo de manera segura

Para la siguiente parte de tu desafío, registrarás tu experiencia navegando por los Acantilados Cumulus en un archivo de registro. Esto asegura que los aventureros que vengan después de ti tengan una guía y también te enseña la importancia de las operaciones de escritura seguras en Python.

Luego, utiliza la instrucción with en map.py para escribir el registro en /home/labex/project/adventure_log.txt.

log = "Navigated through Cumulus Cliffs. Encountered mild turbulences but no serious obstructions."
with open('/home/labex/project/adventure_log.txt', 'w') as file:
    file.write(log)

Ejecuta el script y ve el contenido del archivo adventure_log.txt de la siguiente manera:

$ python3 map.py
$ cat /home/labex/project/adventure_log.txt
Navigated through Cumulus Cliffs. Encountered mild turbulences but no serious obstructions.

Con esto, no solo has dejado tu huella en la historia de la guilda, sino que también has practicado el manejo de recursos a través de la instrucción with.

Resumen

En este laboratorio, emprendiste una aventura por el reino del cielo, utilizando la instrucción with para manejar archivos de manera segura en Python. Al integrar un escenario imaginario con ejercicios de codificación, el objetivo del laboratorio era brindar una experiencia de aprendizaje atractiva. La narrativa se entrelazó en torno a la instrucción with para crear un contexto que complementa la ejecución del código. Aprendiste cómo leer y escribir en archivos de manera efectiva sin correr el riesgo de fugas de recursos, incluso en caso de errores, lo cual es una habilidad crítica en la programación del mundo real. Tu nueva habilidad seguramente te ayudará en muchas más aventuras por venir.

Recuerda que la clave para dominar es la práctica, así que sigue afilando tus habilidades y algún día, quizás llegues a ser el aventurero más legendario en la historia del reino del cielo.