Lectura y escritura de archivos

PythonPythonBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderemos a leer y escribir archivos en Python. Comenzaremos con ejemplos simples y gradualmente aumentaremos la complejidad del código.

Leer y escribir archivos es una habilidad esencial en cualquier lenguaje de programación. Nos permite almacenar y manipular datos de manera persistente y es un bloque fundamental para muchas aplicaciones.
En Python, leer y escribir archivos es sencillo y fácil de aprender. Comenzaremos aprendiendo a leer un archivo y luego pasaremos a escribir archivos.

Logros

  • Lectura y escritura de archivos

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/FileHandlingGroup(["File Handling"]) python(("Python")) -.-> python/AdvancedTopicsGroup(["Advanced Topics"]) python/FileHandlingGroup -.-> python/file_opening_closing("Opening and Closing Files") python/FileHandlingGroup -.-> python/file_reading_writing("Reading and Writing Files") python/FileHandlingGroup -.-> python/file_operations("File Operations") python/FileHandlingGroup -.-> python/with_statement("Using with Statement") python/AdvancedTopicsGroup -.-> python/context_managers("Context Managers") subgraph Lab Skills python/file_opening_closing -.-> lab-92{{"Lectura y escritura de archivos"}} python/file_reading_writing -.-> lab-92{{"Lectura y escritura de archivos"}} python/file_operations -.-> lab-92{{"Lectura y escritura de archivos"}} python/with_statement -.-> lab-92{{"Lectura y escritura de archivos"}} python/context_managers -.-> lab-92{{"Lectura y escritura de archivos"}} end

Leyendo un archivo

Para leer un archivo en Python, usamos la función open, que devuelve un objeto de archivo. Luego podemos usar varios métodos del objeto de archivo para leer el contenido del archivo.

Abra una nueva sesión del intérprete de Python y escriba el siguiente código:

python3

Aquí hay un ejemplo de cómo abrir y leer un archivo de texto:

## Abre el archivo
f = open('filename.txt', 'r')

## Lee el contenido del archivo
contenido = f.read()

## Imprime el contenido
print(contenido)

## Cierra el archivo
f.close()

La función open toma dos argumentos: el nombre del archivo y el modo en el que se abrirá el archivo. En este caso, usamos el modo 'r', que significa "lectura". Este es el modo predeterminado, por lo que también podríamos haber escrito open('filename.txt').

El método read del objeto de archivo devuelve el contenido del archivo como una cadena. Luego podemos imprimir el contenido o manipularlo de cualquier manera que queramos.

Es importante cerrar el archivo una vez que hayamos terminado con él, para liberar los recursos del sistema. Esto lo podemos hacer usando el método close del objeto de archivo.

Escribiendo un archivo

Para escribir en un archivo en Python, seguimos un proceso similar al de leer un archivo. Usamos la función open para obtener un objeto de archivo y luego usamos el método write para escribir en el archivo.

Aquí hay un ejemplo de cómo abrir un archivo para escribir y escribirle algunos textos:

## Abre el archivo
f = open('filename.txt', 'w')

## Escribe algunos textos en el archivo
f.write('Hello, world!\nPython')

## Cierra el archivo
f.close()

Al igual que al leer un archivo, usamos la función open para obtener un objeto de archivo. Esta vez, usamos el modo 'w', que significa "escribir". Esto creará el archivo si no existe y lo sobrescribirá si ya existe.

El método write toma una cadena como argumento y la escribe en el archivo. Al igual que al leer un archivo, es importante cerrar el archivo una vez que hayamos terminado con él.

Trabajando con el contenido de archivos

Ahora que sabemos cómo leer y escribir archivos, echemos un vistazo a algunos ejemplos más avanzados de trabajo con el contenido de archivos.

Leyendo un archivo línea por línea

A veces, puede que queramos leer un archivo línea por línea en lugar de leer todo el contenido de una vez. Para hacer esto, podemos usar el método readline del objeto de archivo.
Aquí hay un ejemplo de cómo leer un archivo línea por línea:

## Abre el archivo
f = open('filename.txt', 'r')

## Lee e imprime cada línea
for línea in f:
    print(línea)

## Cierra el archivo
f.close()

El bucle for itera sobre las líneas del archivo. En cada iteración, lee e imprime la línea actual. Cuando ya no hay más líneas que leer, el bucle finaliza y el archivo se cierra.

Escribiendo en un archivo línea por línea

Para escribir en un archivo línea por línea, podemos usar el método writelines del objeto de archivo. Este método toma una lista de cadenas como argumento y las escribe en el archivo, con cada cadena de la lista convirtiéndose en una línea separada en el archivo.

Aquí hay un ejemplo de cómo escribir en un archivo línea por línea:

## Abre el archivo
f = open('filename.txt', 'w')

## Escribe una lista de líneas en el archivo
líneas = ['Línea 1', 'Línea 2', 'Línea 3']
f.writelines(líneas)

## Cierra el archivo
f.close()

Anexando a un archivo

Para anexar a un archivo en lugar de sobrescribirlo, podemos usar el modo 'a' al abrir el archivo. Esto abrirá el archivo en modo anexar, lo que nos permitirá agregar nuevo contenido al final del archivo sin sobrescribir el contenido existente.

Aquí hay un ejemplo de cómo anexar a un archivo:

## Abre el archivo
f = open('filename.txt', 'a')

## Añade algunos textos al archivo
f.write('This is new content')

## Cierra el archivo
f.close()

Declaración with

La declaración with en Python se utiliza para envolver la ejecución de un bloque de código con los métodos definidos por un administrador de contexto. Un administrador de contexto es un objeto que define los métodos __enter__ y __exit__. La declaración with crea un administrador de contexto temporal durante la duración del bloque de código indentado que la sigue.

La función open es una función integrada de Python que devuelve un objeto de archivo, que representa un archivo abierto. Cuando trabajamos con archivos, es importante cerrarlos una vez que hayamos terminado con ellos para liberar los recursos del sistema. La declaración with facilita el trabajo con archivos, porque cierra automáticamente el archivo cuando se sale del bloque de código, incluso si se produce una excepción.

Aquí hay un ejemplo de cómo usar la declaración with para abrir y leer un archivo:

with open('filename.txt', 'r') as f:
    contenido = f.read()
    print(contenido)

En este ejemplo, la función open se llama dentro de la declaración with para abrir el archivo 'filename.txt' en modo lectura. El objeto de archivo se pasa luego a la cláusula as, donde se le asigna el nombre f. El bloque de código indentado que sigue a la declaración with puede entonces usar el objeto de archivo f para leer el contenido del archivo.

Cuando se sale del bloque de código, el archivo se cierra automáticamente por el administrador de contexto, incluso si se produce una excepción. Esto significa que no tenemos que llamar explícitamente al método close del objeto de archivo.

Se recomienda usar la declaración with para administrar el ciclo de vida de un objeto de archivo en lugar de abrir y cerrar manualmente el archivo, porque es más concisa y garantiza que el archivo siempre se cierre correctamente, incluso si se produce una excepción.

Resumen

En este laboratorio, aprendimos cómo leer y escribir archivos en Python. Vimos cómo abrir y cerrar archivos, leer y escribir su contenido y trabajar con el contenido de los archivos de maneras más avanzadas. También vimos cómo usar diferentes modos al abrir archivos para controlar cómo se accede a ellos.

Al final de este laboratorio, deberías poder leer y escribir archivos en Python con confianza.