Logo de CursoIA
CursoIA Curso de Inteligencia Artificial

Python desde cero - enfoque científico, Unidad 8 — Archivos y datos persistentes, 8.1 — Archivos de texto ·

Apertura y cierre de archivos

Apertura y cierre de archivos

Introducción

La manipulación de archivos es una habilidad esencial para cualquier programador científico. Los datos a menudo se almacenan y recuperan directamente desde archivos, lo que permite el análisis detallado y la reproducción de resultados en un entorno interactivo. En Python, trabajar con archivos implica abrirlos para leer o escribir datos, realizar los cambios necesarios y luego cerrarlos para asegurar que todos los recursos se liberen correctamente. Aprender a manejar adecuadamente los archivos es crucial no solo para la eficiencia del programa sino también para evitar posibles errores y problemas de rendimiento.

Explicación principal con ejemplos

En Python, se utiliza el método open() para abrir un archivo y trabajar con él. Este método devuelve una instancia de un objeto de archivo que permite manipular el contenido del archivo. A continuación, mostramos un ejemplo básico:

# Ejemplo: Abrir un archivo y leer sus contenidos

# Abriendo un archivo en modo lectura ('r')
with open('ejemplo.txt', 'r') as file:
    # Lee el contenido del archivo
    content = file.read()
    print(content)

Mecánica de open()

La función open() toma dos parámetros: el nombre del archivo y el modo en que se desea abrirlo. Los modos comunes son:

  • 'r': Modo lectura (el valor predeterminado).
  • 'w': Modo escritura, elimina cualquier contenido existente.
  • 'x': Crea un nuevo archivo o lanza una excepción si ya existe.
  • 'a': Agregar datos al final del archivo.
  • 'b': Abre en modo binario (para archivos no textuales).
  • 't': Abre en modo texto (el valor predeterminado para archivos de texto).

Ejemplo de escritura

Para abrir un archivo y escribir en él, se utiliza el siguiente código:

# Ejemplo: Escribir en un archivo

with open('nuevo_archivo.txt', 'w') as file:
    # Escribe contenido al final del archivo
    file.write("Este es el contenido escrito en el archivo.")

Cierre automático con with

La palabra clave with se utiliza para abrir y cerrar archivos de manera eficiente. Al usar with, Python asegura que el archivo se cierre automáticamente cuando salimos del bloque with. Esto evita los posibles errores de memoria y garantiza la correcta gestión de recursos.

Errores típicos / trampas

  1. No cerrar archivos manualmente: Si no usamos with, es fácil olvidarse de llamar a close(), lo que puede llevar a problemas de rendimiento o pérdida de datos.
   # No usar esto
   file = open('archivo.txt', 'r')
   print(file.read())
  1. Abrir archivos en modo incorrecto: Seleccionar el modo incorrecto (por ejemplo, 'w' en lugar de 'r') puede resultar en pérdida de datos o errores inesperados.
   # Error: Intenta escribir en un archivo que se abrió solo para lectura
   with open('archivo.txt', 'r') as file:
       file.write("Esto debería haber fallado.")
  1. No manejar excepciones: Olvidar manejar excepciones relacionadas con la apertura de archivos puede ocasionar errores críticos si el archivo no existe o está protegido.
   # No maneja excepciones
   file = open('archivo_no_existe.txt', 'r')
   print(file.read())

Checklist accionable

  1. Verifica que el nombre del archivo sea correcto: Asegúrate de que la ruta y el nombre del archivo sean precisos.
  2. Utiliza with para abrir archivos: Esto asegura que los archivos se cierren automáticamente después de usarlos.
  3. Maneja excepciones adecuadamente: Usa try y except para manejar posibles errores en la apertura o lectura del archivo.
  4. Especifica el modo correcto al abrir el archivo: Usa 'r', 'w', 'a', etc., según sea necesario.
  5. Cierres manualmente si usas open() sin with: Si no utilizas with, asegúrate de llamar a close() cuando ya no necesites el archivo.

Siguientes pasos

  • Aprender más sobre manipulación de archivos: Explora cómo manejar archivos binarios, crear directorios y subdirectorios.
  • Práctica con diferentes tipos de archivos: Trabaja con archivos CSV, JSON e incluso imágenes o videos.
  • Implementa el uso de with en tus proyectos: Asegúrate de que todos los archivos se cierren correctamente.

Mediante la práctica constante y el entendimiento profundo de cómo manejar archivos de manera segura, podrás asegurar una gestión eficiente del contenido en Python.

Contacto

Indica tu objetivo (ChatGPT, RAG, agentes, automatización) y tu stack (web/backend).