En este tema, aprenderemos cómo manejar archivos en Python. La capacidad de leer y escribir archivos es fundamental para muchas aplicaciones, desde el procesamiento de datos hasta la creación de aplicaciones web. Python proporciona una serie de funciones y métodos que facilitan estas tareas.

Contenido

Apertura de Archivos

Para trabajar con archivos en Python, primero debemos abrirlos. Esto se hace utilizando la función open(), que devuelve un objeto de archivo.

Sintaxis

file_object = open("nombre_del_archivo", "modo")

Modos de Apertura

Modo Descripción
'r' Lectura (por defecto). El archivo debe existir.
'w' Escritura. Crea un archivo nuevo o sobrescribe uno existente.
'a' Añadir. Escribe al final del archivo si existe.
'b' Modo binario. Se usa junto con otros modos (e.g., 'rb', 'wb').
'+' Lectura y escritura. Se usa junto con otros modos (e.g., 'r+', 'w+').

Ejemplo

# Abrir un archivo en modo lectura
archivo = open("ejemplo.txt", "r")

Lectura de Archivos

Una vez que hemos abierto un archivo, podemos leer su contenido utilizando varios métodos.

Métodos de Lectura

Método Descripción
read(size) Lee todo el archivo o hasta size caracteres.
readline() Lee una línea del archivo.
readlines() Lee todas las líneas del archivo y las devuelve como una lista.

Ejemplo

# Leer todo el contenido del archivo
contenido = archivo.read()
print(contenido)

# Leer una línea del archivo
linea = archivo.readline()
print(linea)

# Leer todas las líneas del archivo
lineas = archivo.readlines()
print(lineas)

Escritura en Archivos

Para escribir en un archivo, debemos abrirlo en modo escritura ('w', 'a', 'w+', 'a+').

Métodos de Escritura

Método Descripción
write(string) Escribe una cadena en el archivo.
writelines(list) Escribe una lista de cadenas en el archivo.

Ejemplo

# Abrir un archivo en modo escritura
archivo = open("ejemplo.txt", "w")

# Escribir una cadena en el archivo
archivo.write("Hola, mundo!\n")

# Escribir varias líneas en el archivo
lineas = ["Primera línea\n", "Segunda línea\n", "Tercera línea\n"]
archivo.writelines(lineas)

Cierre de Archivos

Es importante cerrar los archivos después de haber terminado de trabajar con ellos para liberar recursos del sistema.

Ejemplo

# Cerrar el archivo
archivo.close()

Uso de with para Manejo Automático de Archivos

El uso de la declaración with es una práctica recomendada, ya que asegura que el archivo se cierre automáticamente después de que el bloque de código se haya ejecutado.

with open("ejemplo.txt", "r") as archivo:
    contenido = archivo.read()
    print(contenido)
# No es necesario llamar a archivo.close()

Manejo de Errores

Es posible que ocurran errores al trabajar con archivos, como intentar abrir un archivo que no existe. Podemos manejar estos errores utilizando bloques try-except.

Ejemplo

try:
    archivo = open("archivo_inexistente.txt", "r")
except FileNotFoundError:
    print("El archivo no existe.")

Ejercicios Prácticos

Ejercicio 1

Escribe un programa que lea el contenido de un archivo llamado datos.txt y lo imprima en la consola.

Solución

try:
    with open("datos.txt", "r") as archivo:
        contenido = archivo.read()
        print(contenido)
except FileNotFoundError:
    print("El archivo datos.txt no existe.")

Ejercicio 2

Escribe un programa que escriba las siguientes líneas en un archivo llamado salida.txt:

Primera línea
Segunda línea
Tercera línea

Solución

with open("salida.txt", "w") as archivo:
    lineas = ["Primera línea\n", "Segunda línea\n", "Tercera línea\n"]
    archivo.writelines(lineas)

Ejercicio 3

Escribe un programa que lea un archivo llamado entrada.txt línea por línea y cuente el número de líneas que contiene.

Solución

try:
    with open("entrada.txt", "r") as archivo:
        lineas = archivo.readlines()
        print(f"El archivo tiene {len(lineas)} líneas.")
except FileNotFoundError:
    print("El archivo entrada.txt no existe.")

Conclusión

En esta sección, hemos aprendido cómo abrir, leer, escribir y cerrar archivos en Python. También hemos visto cómo manejar errores comunes al trabajar con archivos. Estas habilidades son fundamentales para muchas tareas de programación y te preparan para trabajar con datos de manera efectiva. En el próximo tema, exploraremos cómo trabajar con archivos CSV, un formato comúnmente utilizado para almacenar datos tabulares.

Curso de Programación en Python

Módulo 1: Introducción a Python

Módulo 2: Estructuras de Control

Módulo 3: Funciones y Módulos

Módulo 4: Estructuras de Datos

Módulo 5: Programación Orientada a Objetos

Módulo 6: Manejo de Archivos

Módulo 7: Manejo de Errores y Excepciones

Módulo 8: Temas Avanzados

Módulo 9: Pruebas y Depuración

Módulo 10: Desarrollo Web con Python

Módulo 11: Ciencia de Datos con Python

Módulo 12: Proyecto Final

© Copyright 2024. Todos los derechos reservados