7.1 Archivo Guardar – Ejemplo

«Archivos de texto» es una forma básica de almacenar información, permite transferir o compartir los datos de una forma estándar para ser usada (importada) por una gran cantidad de programas editores de texto, hojas electrónicas, procesamiento de datos, etc.

Se presentan ejemplos, ejercicios y resumen en cada sección procesar datos desde o hacia un archivo de texto.

Agenda de contactos telefónicos

Para disponer de una agenda de contactos telefónicos y no perder los datos cuando se cierra python o se apaga el computador, se almacena los datos en un archivo.

Ejemplo 1: Guardar archivo

Los datos básicos de un contacto telefónico se describen como un registro.

registro: un nombre, un apellido y un número telefónico.

Ejecuta las siguientes instrucciones y observa el resultado en el archivo con nombre ‘miscontactos.txt’ en el directorio de trabajo

nombre = 'Juan'
apellido = 'Leon'
telefono = '0987654321'
nombrearchivo = 'miscontactos.txt'

# Archivo en modo escritura 'write'
archivo = open(nombrearchivo,'w')
unregistro = nombre + ',' + apellido +','+telefono +'\n'
archivo.write(unregistro)
archivo.close()  # Cierra el archivo

print('se ha guardado:',nombrearchivo)

 

Para usar un archivo, se «abre» usando la instrucción open() , luego de escribir los datos se debe «cerrar» close() y no se realizan mas instrucciones sobre el archivo. El tipo de uso del archivo se indica mediante una letra ‘w’ (inicial de write) para escritura.

Los datos de un contacto se escriben separados por ‘,’ en una sola línea, para ésto se crea la cadena «unregistro» y se la envía al archivo mediante la instrucción archivo.write().

Ejercicio 1:

Como una persona tiene más de un contacto telefónico, el ejercicio consiste en guardar al menos tres en el archivo «miscontactos3.txt».
Al ejecutar las instrucciones, al final comprueba que los datos se encuentren registrados abriendo el archivo.

Nota: Para separar cada registro por cada línea, se crea una cadena de caracteres finalizada con un salto de línea ‘\n’