Trabajar con ficheros es esencial para leer y escribir datos en el sistema de archivos de nuestro ordenador. A continuación mostraremos la sintaxis básica para utilizar ficheros en Python, incluyendo cómo abrir, leer y escribir en ellos. Utilizaremos explicaciones acompañadas de ejercicios prácticos.
Abrir y cerrar ficheros
Para trabajar con un archivo en Python, primero debemos abrirlo. Podemos usar la función open()
para abrir un archivo en diferentes modos, como lectura ('r'
) o escritura ('w'
) y también para añadir ('a'
). Después de terminar de trabajar con el fichero, debemos cerrarlo utilizando el método close()
para liberar recursos y también para evitar la pérdida de datos:
# Abrir un archivo en modo de lectura archivo = open("archivo.txt", "r") # Trabajar con el archivo (leer o escribir) # Cerrar el archivo después de terminar archivo.close()
Leer contenido de un fichero
Para leer el contenido de un archivo, podemos usar los métodos read()
, readline()
o readlines()
:
read()
. Lee todo el contenido del archivo como una cadena de texto:
archivo = open("archivo.txt", "r") contenido = archivo.read() print(contenido) archivo.close()
readline()
. Lee una línea del archivo:
archivo = open("archivo.txt", "r") linea = archivo.readline() print(linea) archivo.close()
readlines()
. Lee todas las líneas del archivo y las devuelve como una lista:
archivo = open("archivo.txt", "r") lineas = archivo.readlines() print(lineas) archivo.close()
Escribir en un archivo
Para escribir en un archivo, debemos abrirlo en modo de escritura, con 'w'
o para añadir, con 'a'
, según lo que necesitemos en cada momento:
- Modo escritura (
'w'
). Sobrescribe el contenido del archivo existente o crea un nuevo archivo si no existe:
archivo = open("archivo.txt", "w") archivo.write("Este es un nuevo contenido.\n") archivo.write("¡Hola, Mundo!\n") archivo.close()
- Modo añadir (
'a'
). Agrega contenido al final del archivo existente o crea un nuevo archivo si no existe:
archivo = open("archivo.txt", "a") archivo.write("Este es un contenido adicional.\n") archivo.write("¡Hola de nuevo!\n") archivo.close()
Gestores de contexto
El uso de un gestor de contexto
con la declaración with
es una forma más segura y eficiente de trabajar con ficheros. Utilizando esta funcionalidad, el archivo se cierra automáticamente cuando el bloque with
termina, incluso si se produce una excepción:
# Leer contenido del archivo con un Context Manager with open("archivo.txt", "r") as archivo: contenido = archivo.read() print(contenido) # Escribir en el archivo con un Context Manager with open("archivo.txt", "a") as archivo: archivo.write("Esto es un nuevo contenido con Context Manager.\n")
Verificar si un archivo existe
Podemos usar el módulo os
para verificar si un archivo existe antes de abrirlo.
import os nombre_archivo = "archivo.txt" if os.path.exists(nombre_archivo): with open(nombre_archivo, "r") as archivo: contenido = archivo.read() print(contenido) else: print(f"El archivo '{nombre_archivo}' no existe.")
Test
Evalúa tus conocimientos mediante este test que incluye preguntas relacionadas con esta unidad.