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))

Probar solución en Google Colab

Fuente del ejercicio: https://es.py4e.com/html3/09-dictionaries