El siguiente script trata de automatizar el envió de correos, por medio del uso de dos ficheros.
1.carta.txt:
Estimado/a H #CLIENTE#
Tenemos noticias de que usted don/doña H #CLIENTE# no a abonado el importe
de la cuota mensual a que le obliga el draconiano contrato que firmó.
2.cliente.txt:
alguncorreo@gmail.com nombre apellido
alguncorreo@gmail.com nombre apellido
La idea es sustituir #CLIENTE# por el nombre y apellido del cliente, que es lo que ya he logrado hasta el momento y sustituir H(hombre) si esta presente o M(mujer) por su correspondiente identificativo Estimado/a y don/doña esta es la parte que aun no he podido hacer si me pudieran dar alguna idea de como optimizar y como finalizar este ejercicio se los agradeceria
Gracias por responder al final lo solucione usando expresiones regulares puede que no sea muy
eficiente pero lo logre hacer

Este es el código
Código
def envio_correo_personalizado(): try: # variables y apertura de ficheros nombre = [] mensaje = "" carta = open("carta.txt", "r") carta_copia = open("carta.txt.copia", "w") cliente = open("cliente.txt", "r") # lectura de clientes for _cliente in cliente: nombre += _cliente.rstrip().split("/") # Leyendo el fichero carta linea = carta.readline() while linea != "": mensaje += linea linea = carta.readline() # TODO Cambiando los valores del mensaje segun el genero usando expresiones regulares. # FIXME Buscar otra forma de hacerlo. mensaje = re.sub( r"/a|/doña|H", "", mensaje) if "H" in mensaje else re.sub(r"o/|don/|M", "", mensaje) mensaje = re.sub(r"#CLIENTE#", nombre[1], mensaje) print("Mensaje cambiado") print(mensaje) for i in mensaje: carta_copia.write(i) # cierre de ficheros carta.close() cliente.close() carta_copia.close() except IOError: print("Fichero no existe")