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
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
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
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
:
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
- Introducción a Python
- Configuración del Entorno de Desarrollo
- Sintaxis de Python y Tipos de Datos Básicos
- Variables y Constantes
- Entrada y Salida Básica
Módulo 2: Estructuras de Control
- Sentencias Condicionales
- Bucles: for y while
- Herramientas de Control de Flujo
- Comprensiones de Listas
Módulo 3: Funciones y Módulos
- Definición de Funciones
- Argumentos de Función
- Funciones Lambda
- Módulos y Paquetes
- Visión General de la Biblioteca Estándar
Módulo 4: Estructuras de Datos
Módulo 5: Programación Orientada a Objetos
Módulo 6: Manejo de Archivos
- Lectura y Escritura de Archivos
- Trabajo con Archivos CSV
- Manejo de Datos JSON
- Operaciones de Archivos y Directorios
Módulo 7: Manejo de Errores y Excepciones
- Introducción a las Excepciones
- Manejo de Excepciones
- Lanzamiento de Excepciones
- Excepciones Personalizadas
Módulo 8: Temas Avanzados
- Decoradores
- Generadores
- Administradores de Contexto
- Concurrencia: Hilos y Procesos
- Asyncio para Programación Asíncrona
Módulo 9: Pruebas y Depuración
- Introducción a las Pruebas
- Pruebas Unitarias con unittest
- Desarrollo Guiado por Pruebas
- Técnicas de Depuración
- Uso de pdb para Depuración
Módulo 10: Desarrollo Web con Python
- Introducción al Desarrollo Web
- Fundamentos del Framework Flask
- Construcción de APIs REST con Flask
- Introducción a Django
- Construcción de Aplicaciones Web con Django
Módulo 11: Ciencia de Datos con Python
- Introducción a la Ciencia de Datos
- NumPy para Computación Numérica
- Pandas para Manipulación de Datos
- Matplotlib para Visualización de Datos
- Introducción al Aprendizaje Automático con scikit-learn