E/S de archivos Python: lectura y escritura de archivos de forma segura

Aprenda a leer y escribir archivos en Python. Domine los administradores de contexto open(), read(), write() y contexto para manejar operaciones de archivos de forma segura sin fugas de recursos.

Pruébelo en el editor

Descripción general

La entrada/salida de archivos (E/S) es una capacidad fundamental que permite a los programas Python interactuar con el almacenamiento persistente de una computadora. Ya sea que esté creando un registrador simple, leyendo archivos de configuración o procesando conjuntos de datos masivos, su programa necesita una forma confiable de abrir, leer, escribir y cerrar archivos en el disco. Python proporciona funciones limpias e integradas para que la interacción con el sistema de archivos sea sencilla y multiplataforma.

La herramienta principal para acceder a archivos en Python es la función incorporada `open()`. Esta función acepta una ruta de archivo y una cadena de modo. El modo determina cómo se accede al archivo: `'r'` para lectura, `'w'` para escritura (que sobrescribe el archivo), `'a'` para agregar contenido al final y `'b'` para modo binario (útil para imágenes o datos serializados). Fundamentalmente, cada vez que abres un archivo, consume un identificador del sistema operativo. Si no cierra el archivo, puede provocar pérdidas de memoria o problemas de bloqueo de archivos.

Para garantizar que los archivos siempre se cierren correctamente, los desarrolladores de Python utilizan la declaración "with", que implementa un administrador de contexto. Cuando se usa `con open(...) as file:`, Python cierra automáticamente el identificador del archivo una vez que sale el bloque de código, incluso si ocurre una excepción inesperada en su interior. La lectura de datos se puede realizar línea por línea usando `for line in file:` o todos a la vez mediante `.read()`, `.readline()` o `.readlines()`. La escritura de texto se realiza mediante `.write()` o `.writelines()`, lo que permite operaciones de archivos fluidas, seguras y eficientes.

Código y salida de ejecución

Escribir un saludo en un archivo de texto temporal y leerlo línea por línea utilizando administradores de contexto seguros.

file_operations.py
Pruébelo en el editor
filename = "sample.txt"

# Writing to a file
with open(filename, "w") as file:
    file.write("Hello, Python coder!\n")
    file.write("This is a line in a file.\n")
    file.write("File I/O is simple.\n")

print("File written successfully.\n--- Reading File ---")

# Reading from a file line by line
with open(filename, "r") as file:
    for index, line in enumerate(file, 1):
        print(f"Line {index}: {line.strip()}")
Salida terminal
File written successfully.
--- Reading File ---
Line 1: Hello, Python coder!
Line 2: This is a line in a file.
Line 3: File I/O is simple.

Implementación paso a paso

  • Errores de registro y salida del programa
  • Lectura de archivos de configuración (por ejemplo, .env o config.txt)
  • Guardar informes de usuario o resúmenes analíticos exportados

Preguntas frecuentes

¿Cuál es la diferencia entre los modos escribir y agregar?

El modo de escritura ('w') trunca el archivo a longitud cero, eliminando cualquier contenido existente antes de escribir. El modo Agregar ('a') coloca el cursor al final, agregando texto nuevo sin eliminar el contenido existente.

¿Por qué debería utilizar la declaración with?

La declaración with actúa como un administrador de contexto, asegurando que los archivos se cierren automáticamente, lo que evita pérdidas de memoria y errores de bloqueo de archivos.

Temas relacionados

Recursos recomendados de Python

Amplíe sus conocimientos con tutoriales interactivos relacionados, hojas de trucos y comparaciones de códigos.