Cómo leer y escribir archivos en Python

Leer y escribir en archivos es una tarea común en programación, y Python lo hace fácil con sus capacidades integradas de manejo de archivos. Comprender cómo trabajar con archivos es esencial para cualquier programador de Python, ya que le permite manejar el almacenamiento de datos, el registro, la gestión de la configuración y más. Esta guía cubrirá cómo abrir, leer, escribir y cerrar archivos en Python, así como también cómo manejar diferentes modos de archivo.

Apertura y cierre de archivos

En Python, se utiliza la función open() para abrir un archivo. La función open() devuelve un objeto de archivo, que proporciona métodos para leer y escribir. Es importante cerrar un archivo después de terminar de usarlo utilizando el método close() para liberar recursos del sistema.

# Opening and closing a file
file = open("example.txt", "r")  # Open file for reading
# Perform file operations
file.close()  # Close the file

Lectura de archivos

Hay varias formas de leer el contenido de un archivo en Python, según sus necesidades:

Lea el archivo completo

El método read() lee todo el contenido del archivo en una sola cadena.

# Reading the entire file
with open("example.txt", "r") as file:
    content = file.read()
    print(content)

Leer líneas de un archivo

El método readline() lee una línea del archivo, mientras que readlines() lee todas las líneas y las devuelve como una lista.

# Reading lines using readline()
with open("example.txt", "r") as file:
    line = file.readline()
    while line:
        print(line.strip())
        line = file.readline()

# Reading all lines using readlines()
with open("example.txt", "r") as file:
    lines = file.readlines()
    for line in lines:
        print(line.strip())

Lectura de archivos línea por línea

El método preferido para leer un archivo línea por línea es usar un bucle for directamente en el objeto de archivo. Este enfoque es eficiente en el uso de la memoria, especialmente para archivos grandes.

# Reading file line by line using a for loop
with open("example.txt", "r") as file:
    for line in file:
        print(line.strip())

Escribir en archivos

Python permite escribir en archivos mediante los métodos write() y writelines(). Debe abrir el archivo en un modo que admita la escritura, como 'w' (escritura) o 'a' (anexión).

Escribir en un archivo

El método write() escribe una sola cadena en un archivo. Al abrir un archivo en modo de escritura 'w' se creará un nuevo archivo o se sobrescribirá un archivo existente.

# Writing to a file
with open("output.txt", "w") as file:
    file.write("Hello, World!\n")
    file.write("This is a new line.")

Anexar a un archivo

Abrir un archivo en modo de anexar 'a' le permite agregar contenido al final de un archivo existente sin sobrescribir su contenido.

# Appending to a file
with open("output.txt", "a") as file:
    file.write("\nThis line is appended.")

Escribir varias líneas

El método writelines() se utiliza para escribir varias líneas en un archivo. Espera una lista de cadenas, cada una de las cuales representa una línea.

# Writing multiple lines to a file
lines = ["Line 1\n", "Line 2\n", "Line 3\n"]
with open("output.txt", "w") as file:
    file.writelines(lines)

Modos de archivo

La función open() de Python admite varios modos para abrir archivos:

  • 'r' - Modo de lectura (predeterminado). Abre un archivo para su lectura.
  • 'w' - Modo de escritura. Abre un archivo para escritura (crea un archivo nuevo o trunca un archivo existente).
  • 'a' - Modo de anexar. Abre un archivo para anexarlo (crea un nuevo archivo si no existe).
  • 'r+' - Modo de lectura y escritura. Abre un archivo tanto para lectura como para escritura.
  • 'b' - Modo binario. Abre un archivo en modo binario (se utiliza con 'rb', 'wb', etc.).

Conclusión

Leer y escribir en archivos en Python es sencillo una vez que comprendes los conceptos básicos y los modos de archivo. Si dominas el manejo de archivos, podrás administrar datos de manera eficiente, manejar la entrada y salida del usuario y automatizar tareas que involucran operaciones con archivos. Practica el uso de estas técnicas para dominar la administración de archivos en Python.