## Ejercicio 2 ##
import re
def extraccionInfo(*archivos, salidaRuta):
# Regex para extraer los números franceses
num_reg = r"\+33\s?[1-9](?:[\s.-]?[0-9]{2}){4}"
# Regex para extraer las direcciones de correo electrónico
mail_reg = r"\b[a-zA-Z0-9._%+-]+@gmail\.com\b"
# almacenar todos los resultados en una lista
resultados = []
# recorrer todos los archivos 1 por 1
for archivo in archivos:
## apertura en modo lectura
with open(archivo, 'r', encoding='utf-8') as a:
## contenido del archivo de texto
contenido = a.read()
# encontrar todos los números de teléfono y los correos electrónicos
numeros_tel = re.findall(num_reg, contenido)
correo_electronico = re.findall(mail_reg, contenido)
# los datos extraídos del archivo recorrido
extraccion = numeros_tel + correo_electronico
# agregar la extracción a la lista de resultados
resultados.extend(extraccion)
# Escritura de los resultados en el archivo de salida
with open(salidaRuta, 'w', encoding='utf-8') as archivo_final:
for res in resultados:
## para un archivo legible, realizar
## un salto de línea para cada dato extraído
archivo_final.write(res + '\n')
# Prueba de verificación
extraccionInfo('archivo1.txt', 'archivo2.txt', 'archivo3.txt', salidaRuta='archivo_final.txt')