Manejo de Archivos en Python

Publicado: mar, 1 de agosto de 2023

Python File Handling
Python File Handling

El manejo de archivos es una habilidad esencial en la programación, ya que nos permite leer y escribir datos en discos, guardar configuraciones, o simplemente trabajar con grandes volúmenes de datos de manera eficiente. Python proporciona funciones integradas para manejar archivos de forma simple y efectiva.

Abrir y Cerrar Archivos

Para trabajar con un archivo, primero debemos abrirlo. Esto se hace con la función open(), que devuelve un objeto de archivo. Es importante cerrar el archivo después de haber terminado de trabajar con él para liberar los recursos. Esto se puede hacer usando el método close().

# Abrir un archivo para lectura
archivo = open('archivo.txt', 'r')
 
# Leer el contenido del archivo
contenido = archivo.read()
print(contenido)
 
# Cerrar el archivo
archivo.close()

Resultado: (contenido del archivo)

Hola, este es un archivo de prueba.

Modos de Apertura

Al abrir un archivo, podemos especificar el modo en el que queremos trabajar con él. Los modos comunes incluyen:

  • 'r': Leer (por defecto). Abre el archivo para lectura.
  • 'w': Escribir. Crea un archivo nuevo o sobreescribe uno existente.
  • 'a': Añadir. Abre el archivo para añadir contenido al final sin borrar el existente.
  • 'b': Modo binario. Usado para archivos no de texto (e.g., imágenes).
# Abrir un archivo para escritura
archivo = open('archivo.txt', 'w')
 
# Escribir en el archivo
archivo.write('Esta es una nueva línea de texto.')
archivo.close()

Resultado: (archivo archivo.txt ahora contiene)

Esta es una nueva línea de texto.

Leer Archivos

Podemos leer un archivo de varias maneras, incluyendo leer todo el contenido de una vez, leer línea por línea, o leer un número específico de caracteres.

Leer Todo el Contenido

# Leer todo el contenido del archivo
archivo = open('archivo.txt', 'r')
contenido = archivo.read()
print(contenido)
archivo.close()

Resultado:

Esta es una nueva línea de texto.

Leer Línea por Línea

# Leer el archivo línea por línea
archivo = open('archivo.txt', 'r')
for linea in archivo:
    print(linea, end='')
archivo.close()

Resultado:

Esta es una nueva línea de texto.

Manejar Errores con Archivos

Al trabajar con archivos, es común encontrarse con errores como archivos que no existen o problemas de permisos. Podemos manejar estos errores usando excepciones.

# Manejar errores al abrir un archivo
try:
    archivo = open('archivo_no_existente.txt', 'r')
    contenido = archivo.read()
    archivo.close()
except FileNotFoundError:
    print("El archivo no fue encontrado.")

Resultado:

El archivo no fue encontrado.

El Bloque with

Una forma más segura de trabajar con archivos es usar el bloque with, que garantiza que el archivo se cierre automáticamente al salir del bloque, incluso si ocurre una excepción.

# Uso del bloque with para abrir un archivo
with open('archivo.txt', 'r') as archivo:
    contenido = archivo.read()
    print(contenido)

Resultado:

Esta es una nueva línea de texto.

Escribir en Archivos

Al escribir en un archivo, podemos usar los modos 'w' para escribir desde el principio del archivo o 'a' para añadir contenido al final.

Escribir Datos Nuevos

# Escribir nuevos datos en un archivo
with open('archivo.txt', 'w') as archivo:
    archivo.write('Esta es una línea nueva de texto.\n')

Resultado: (archivo archivo.txt ahora contiene)

Esta es una línea nueva de texto.

Añadir Datos

# Añadir datos a un archivo existente
with open('archivo.txt', 'a') as archivo:
    archivo.write('Esta es otra línea añadida de texto.\n')

Resultado: (archivo archivo.txt ahora contiene)

Esta es una línea nueva de texto. Esta es otra línea añadida de texto.

El manejo de archivos es una parte esencial de la programación en Python, que permite leer y escribir datos de manera eficiente. Ya sea trabajando con archivos de texto simples o archivos binarios más complejos, Python proporciona herramientas potentes y fáciles de usar para manejar archivos de manera segura y eficaz.



Quieres apoyarme para seguir creando contenido? Puedes invitarme un café (o una cerveza) en mi página de Ko-Fi, es totalmente voluntario y tu ayuda me serviría de mucho para seguir haciendo lo que amo.