1. Archivos de texto
Los datos almacenados en una lista, arreglo o diccionario se pierden al apagar el computador o ante un fallo de suministro eléctrico. Por lo que almacenar la información, transferir o compartir es requisito conocido.
Los "Archivos de texto" son 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.
2. Archivo txt - Guardar
La primera acción a realizar es Guardar una línea de texto, que puede contener varios datos, separados por comas.
Ejemplo: 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 tipo texto.
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)
En la imagen se puede observar el algoritmo.py que genera el archivo.txt con nombre 'miscontactos.txt.

El algoritmo inicia o "abre" el archivo.txt usando la instrucción open(), luego de escribir los datos se debe "cerrar" con la instrucción close() y no se realizan mas operaciones 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().
3. Archivo txt - Añadir
Semejante a una lista, arreglo o diccionario usado los archivos.txt se pueden añadir mas datos. Se supone que el archivo.txt ya existe y tan solo se añadirá uno o mas datos en una línea.
Ejemplo - varios contactos/registros
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'

4. Archivo txt - Abrir
Para gestionar los datos de un ejercicio anterior se leen los datos desde el archivo. La acción o instrucción se conoce como 'abrir', 'open', que se complementa con el nombre del archivo y la forma o estructura para leer cada línea de texto.
Ejemplo 2: Abrir archivo de Agenda telefónica
Para recuperar desde un archivo los datos de los contactos, se procede de forma inversa a la escritura del archivo, recuperando un registro, quitando el salto de línea '\n' y separando los datos por ','
Ejecute las siguientes instrucciones usando el archivo 'miscontactos3.txt' del ejercicio anterior y almacenado en el directorio de trabajo, observe los resultados.
nombrearchivo = 'miscontactos.txt'
# Archivo en modo lectura 'read'
archivo = open(nombrearchivo,'r')
unregistro = archivo.readline()
unregistro = unregistro.strip('\n')
datos = unregistro.split(',')
# Cierra el archivo
archivo.close()
print('unregistro: ', unregistro)
print(datos[0])
print(datos[1])
print(datos[2])
unregistro: Juan,Leon,0987654321
Juan
Leon
0987654321
Para recuperar varios registros de contactos, es necesario realizar la lectura de varias líneas, registro a registro, hasta llegar al último y encontrar una línea vacío ''.

Observe que para éste ejemplo el archivo de prueba es 'miscontactos3.txt', descargue el archivo en el caso que exista un error al desarrollar el ejercicio anterior.

datos=[]
nombrearchivo = 'miscontactos3.txt'
# Archivo en modo lectura 'read'
archivo=open(nombrearchivo,'r')
unregistro = archivo.readline()
while not(unregistro==''):
unregistro = unregistro.strip('\n')
datos.append(unregistro.split(','))
unregistro = archivo.readline()
# Cierra el archivo
archivo.close()
print('datos: ')
print(datos)
datos:
[['Juan', 'Montalvo', '0987654321'], ['Manuela', 'Saenz', '0987654322'], ['Julio', 'Jaramillo', '0987654323']]
Ejercicio - añadir email a cada contacto
Al archivo de contactos añada un correo electrónico para cada contacto y guarde el resultado en el archivo: 'miscontactos4.txt'
