Programación con Python: Ficheros
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.
1. 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()
2. 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()
3. 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()
4. 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")
## 5. 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.")