¿Quién envía los Correos?
Descripción
Escribir un programa para leer a través de datos de una bandeja de entrada de correo.
Puedes probar el programa usando los archivos:
www.py4e.com/code3/mbox-short.txt
www.py4e.com/code3/mbox.txt
Cuándo encuentres una línea que comience con “From”,
divide la línea en palabras utilizando la función split
.
Estamos interesados en quién envió el mensaje, lo cual es la segunda palabra en las líneas que comienzan con “From”.
From stephen.marquard@uct.ac.za Sat Jan 5 09:14:16 2008
Tendrás que analizar la línea “From” e imprimir la segunda palabra de cada línea, después tendrás que contar el número de líneas “From” (no incluir From:) e imprimir el total al final.
Ejemplo de ejecución
> python fromcuenta.py
Ingresa un nombre de archivo: mbox-short.txt
stephen.marquard@uct.ac.za
louis@media.berkeley.edu
zqian@umich.edu
[...líneas de salida removidas...]
ray@media.berkeley.edu
cwen@iupui.edu
cwen@iupui.edu
cwen@iupui.edu
Hay 27 lineas en el archivo con la palabra From al inicio
Solución
Mostrar solución
nombre_archivo = input('Ingresa un nombre de archivo: ')
lineas_con_from = 0
with open(nombre_archivo, 'r') as archivo:
for linea in archivo:
if linea.startswith('From '):
lineas_con_from += 1
palabras = linea.split()
print(palabras[1])
print('Hay ' + str(lineas_con_from) + ' lineas en el archivo con la palabra From al inicio')
Fuente del ejercicio: https://es.py4e.com/html3/08-lists