Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> python

Entrada/Salida de Archivos en Python: Dominando Operaciones de Lectura, Escritura y Gestión

Entrada/Salida de Archivos en Python

Aprende a abrir, leer, escribir y cerrar archivos en Python con ejemplos claros y técnicas de mejores prácticas.

Video: Lectura y Escritura de Archivos en Python

Archivos

Los archivos son ubicaciones nombradas en disco que almacenan datos persistentemente. Como la RAM es volátil, confiamos en archivos para mantener información entre ejecuciones de programas.

Al interactuar con un archivo, la secuencia típica es: abrir → leer/escribir → cerrar.


Abrir Archivos en Python

La función integrada open() de Python devuelve un objeto archivo que puedes usar para operaciones de E/S. La firma de la función es:

open(archivo, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

Puntos clave:

ModoDescripción
rLectura (default)
wEscritura; crea nuevo o trunca existente
xCreación exclusiva; falla si archivo existe
aAñadir; crea si no existe
tModo texto (default)
bModo binario
+Lectura y escritura
f = open("test.txt")           # r/rt
f = open("test.txt", "w")      # escritura
f = open("img.bmp", "r+b")     # lectura/escritura binario

Como a es un carácter, no equivale al número 97 a menos que se codifique. Establece explícitamente encoding='utf-8' para archivos de texto.

f = open("test.txt", mode='r', encoding='utf-8')

Cerrar Archivos en Python

Cerrar correctamente un archivo libera recursos del sistema. El método close() es directo, pero usar un gestor de contexto es el patrón más seguro.

with open("test.txt", encoding='utf-8') as f:
    # realizar operaciones de archivo
    pass

El gestor de contexto garantiza el cierre incluso si ocurre una excepción. Si abres un archivo manualmente, envuélvelo en un bloque try...finally.

try:
    f = open("test.txt", encoding='utf-8')
    # operaciones
finally:
    f.close()

Escribir en Archivos en Python

Usa modo w, a o x para escribir. w sobrescribe contenido existente; a lo preserva.

El método write() acepta una cadena (o bytes para binario) y devuelve el número de caracteres escritos.

with open("test.txt", "w", encoding='utf-8') as f:
    f.write("mi primer archivo\n")
    f.write("Este archivo\n\n")
    f.write("contiene tres líneas\n")

Recuerda incluir caracteres de nueva línea para separar líneas.


Leer Archivos en Python

Abre con modo r. El método read() acepta un argumento opcional size; omitirlo lee hasta EOF.

f = open("test.txt", "r", encoding='utf-8')
print(f.read(4))  # 'Este'
print(f.read(4))  # ' es '
print(f.read())   # contenido restante
f.close()

Mueve el cursor con seek() y consulta su posición con tell():

print(f.tell())  # posición actual
f.seek(0)        # rebobinar
print(f.read())  # leer todo

Itera sobre líneas eficientemente:

for line in f:
    print(line, end='')

Alternativamente, readline() y readlines() proporcionan acceso línea por línea.


Métodos de Archivo en Python

Referencia concisa de los métodos de archivo más comunes en modo texto.

MétodoDescripción
close()Cierra el archivo.
detach()Desconecta el buffer binario subyacente.
fileno()Devuelve el descriptor de archivo.
flush()Vacía el buffer de escritura.
isatty()Verifica si el stream es interactivo.
read(n)Lee hasta n caracteres; None lee hasta EOF.
readable()¿Es el stream legible?
readline(n=-1)Lee una línea, hasta n caracteres.
readlines(n=-1)Devuelve lista de líneas, hasta n caracteres.
seek(offset, from_=SEEK_SET)Mueve cursor a offset desde from_ (inicio, actual, fin).
seekable()¿Soporta el stream acceso aleatorio?
tell()Obtiene posición actual del cursor.
truncate(size=None)Redimensiona archivo a size bytes.
writable()¿Es el stream escribible?
write(s)Escribe cadena s; devuelve caracteres escritos.
writelines(lines)Escribe un iterable de cadenas.

python

  1. Dominando la entrada/salida en C: scanf() y printf() explicados
  2. Dominando E/S de archivos en C: Crear, abrir y gestionar archivos
  3. Entrada/Salida de archivos en C#: Lectura, escritura y gestión de streams
  4. Dominando tipos de datos en Python: Guía práctica
  5. Dominando operadores en Python: Guía completa
  6. Operaciones con Listas en Python: Creación, Acceso, Modificación y Técnicas Avanzadas
  7. Dominando Diccionarios en Python: Creación, Manipulación y Técnicas Avanzadas
  8. Entrada/Salida de Archivos en Python: Dominando Operaciones de Lectura, Escritura y Gestión
  9. Comprobación de existencia de archivos y directorios en Python – Guía práctica
  10. Python JSON: Codificación, decodificación y manejo de archivos – Guía práctica
  11. Entrada/Salida de Archivos en Python: Domina las Operaciones I/O