Correos enviados por escuela
Descripción
Para probar el programa puedes usar los archivos:
Este programa almacena el nombre del dominio desde donde fue enviado un mensaje, en lugar de la dirección completa de quién envió el mensaje.
Ejemplo: para un mensaje enviado por cwen@iupui.edu
, solo procesar @iupui.edu
.
Para hacer esto busca las líneas que comienzan con “From” (ignorando las que empiezan con “From:”, es decir que tienen el símbolo : después de “From”), la segunda palabra en estas líneas es el remitente.
Al final del programa imprime el diccionario.
Ejemplo de ejecución
python schoolcount.py
Ingresa un nombre de archivo: mbox-short.txt
{'media.berkeley.edu': 4, 'uct.ac.za': 6, 'umich.edu': 7,
'gmail.com': 1, 'caret.cam.ac.uk': 1, 'iupui.edu': 8}
Solución
Mostrar solución
mensajes_dominio = {}
nombre_archivo = input('Ingresa un nombre de archivo: ')
with open(nombre_archivo, 'r') as archivo:
for linea in archivo:
if linea.startswith('From '):
remitente = linea.split(' ')[1]
dominio = remitente.split('@')[1]
mensajes_dominio[dominio] = mensajes_dominio.get(dominio, 0) + 1
print(str(mensajes_dominio))
Fuente del ejercicio: https://es.py4e.com/html3/09-dictionaries