El manejo de archivos es el proceso de almacenar, leer y escribir datos de forma permanente en un dispositivo de almacenamiento, en lugar de hacerlo solo en la memoria del equipo. Esta guía completa en español te enseña a trabajar con archivos en Python de forma clara y práctica.
Lo que aprenderás
Tipos de archivos que se pueden manejar en Python, modos de apertura, lectura, escritura, uso de las funciones tell y seek, y consejos prácticos para CSV y binarios.
Tipos de archivos de datos
Archivos de texto. Guardan datos en formato legible. Ejemplos comunes: archivos de texto plano .txt y archivos delimitados como TSV .txt o .csv y CSV .csv.
Archivos binarios. Guardan información como flujo de bytes y no son legibles por humanos directamente. Se usan para serializar estructuras complejas de datos.
Abrir y cerrar archivos en Python
Puedes abrir un archivo con open y cerrarlo con close. La forma más segura es usar el administrador de contexto with, que cierra el archivo automáticamente al salir del bloque. Ejemplo conceptual con with open ruta, mode r as f, procesas el contenido y el archivo se cierra solo.
Rutas de archivos y cadenas sin escapes
Cuando uses rutas en Windows, evita interpretaciones de caracteres especiales. Dos formas comunes
Usar el prefijo r antes de la ruta, por ejemplo r C:\Temp\data1.txt.
Duplicar las barras invertidas, por ejemplo C:\\Temp\\data1.csv.
Modos de apertura más usados en Python
Modo r y rb. Solo lectura. El archivo debe existir o se produce error de E S.
Modo w y wb. Solo escritura. Crea el archivo si no existe y sobrescribe si ya existe.
Modo a y ab. Anexar. Crea el archivo si no existe. Si existe, conserva su contenido y añade al final.
Modo r mas y rb mas o r mas b. Lectura y escritura con las restricciones de r. Permite leer y escribir sin crear ni truncar.
Modo w mas y wb mas o w mas b. Escritura y lectura con las reglas de w. Trunca y permite leer después de escribir.
Modo a mas y ab mas o a mas b. Anexar y leer. Mantiene el contenido y permite leer y añadir al final.
Escritura de archivos de texto
write cadena. Escribe una cadena de caracteres en el archivo.
writelines lista de cadenas. Escribe varias líneas en bloque. Recuerda añadir saltos de línea manualmente si los necesitas.
Lectura de archivos de texto
read n. Devuelve una cadena con todo el contenido o n bytes si se especifica n.
readline n. Devuelve una línea terminada en salto de línea. Con n se limita el número de bytes leídos.
readlines. Devuelve una lista donde cada elemento es una línea del archivo.
Lectura de archivos CSV
Usa el módulo csv. Al abrir en sistemas Windows, pasar el argumento newline igual a cadena vacía evita transformaciones de fin de línea. Con csv.reader iteras fila a fila y obtienes listas de valores ya separados por delimitador.
Escritura de archivos CSV
Con csv.writer puedes escribir una fila con writerow o varias con writerows. Define primero un encabezado y luego añade registros. Para datos que contengan comas o saltos de línea, el módulo se encarga del escape y del quoting automáticamente.
Archivos binarios con pickle
pickle permite serializar y deserializar objetos de Python a binario. Para guardar, abre en modo wb y usa pickle.dump objeto, archivo. Para leer varios objetos, abre en modo rb y en un bucle usa pickle.load hasta capturar la excepción EOFError que indica fin de archivo.
La función tell
tell devuelve la posición actual del puntero de archivo como un entero que representa el desplazamiento en bytes desde el inicio.
La función seek
seek cambia la posición del puntero. Recibe un desplazamiento y un modo de referencia
Modo 0. Calcula desde el inicio del archivo. Es el valor por defecto.
Modo 1. Calcula desde la posición actual.
Modo 2. Calcula desde el final del archivo.
Estas funciones son muy útiles al editar partes específicas de un archivo o al reprocesar secciones sin volver a cargar todo.
Buenas prácticas
Usa with para garantizar el cierre del archivo. Controla errores con try except al leer binarios. Define un encoding explícito como utf guion 8 al trabajar con texto si necesitas compatibilidad multiplataforma. Evita leer archivos enormes en memoria completa usando lecturas por bloques o iteración línea a línea.
Cómo encaja en proyectos reales
El manejo de archivos en Python es clave para aplicaciones a medida, integraciones con sistemas legados, pipelines de datos y automatización de procesos. Desde importar CSV de un ERP hasta generar reportes y exportarlos a la nube, dominar estos fundamentos te ahorra tiempo y errores.
Sobre Q2BSTUDIO
En Q2BSTUDIO desarrollamos software a medida y aplicaciones a medida de alto impacto, integrando mejores prácticas de ingeniería con automatización, agentes IA y analítica avanzada. Si buscas acelerar tu roadmap digital, conoce nuestro servicio de desarrollo de software a medida para llevar tus ideas a producción con calidad, seguridad y escalabilidad. También diseñamos soluciones de ia para empresas, desde copilotos internos hasta análisis predictivo, que conectan con tus datos y sistemas. Descubre cómo potenciamos tu negocio con inteligencia artificial para empresas.
Nuestro stack y servicios
Somos especialistas en inteligencia artificial, ciberseguridad y pentesting, servicios cloud aws y azure, servicios inteligencia de negocio con power bi, así como automatización de procesos e integración de datos. Diseñamos arquitecturas seguras y escalables, construimos productos digitales listos para producción y reforzamos la gobernanza de datos con trazabilidad y cumplimiento.
Palabras clave para tu estrategia
aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi
Conclusión
Dominar la apertura, lectura, escritura y posicionamiento con tell y seek en Python te permite construir soluciones robustas que manejan datos de forma eficiente. Con estos fundamentos y las prácticas recomendadas, podrás crear desde utilidades de línea de comandos hasta servicios de backend que procesan archivos de manera fiable y escalable.