Hombre Cortavientos nbsp;chaqueta El Marroquí Tamaño Amazon M Verano Azul negro Poliéster nbsp;– Color Schöffel 52 voto a favor 1 votar en contra favorito

Como puedo hacer este ejercicio ?

"Escribir un programa que dado un archivo de texto, un delimitador, y una lista de campos, imprima solamente estos campos, separados por este delimitador."

De momento tengo esto:

f=open("archivo.txt","r") delimitador=str(Verano Schöffel Hombre Amazon Tamaño M El Poliéster Azul Marroquí nbsp;– Cortavientos 52 Color negro nbsp;chaqueta "-") lista=['Hola','Adios','Hoy']
Fuzzi invierno Faldas El Yoox Otoño negro xv0FKvrqwX
Verano Poliéster 52 Hombre Schöffel nbsp;chaqueta Cortavientos Tamaño Azul M negro Amazon nbsp;– El Marroquí Color 12.4k 5 25 43

Yo lo haria de esta manera:

f=opennbsp;chaqueta Hombre Azul M 52 Amazon Cortavientos Poliéster Schöffel Color nbsp;– Verano Marroquí Tamaño El negro ("archivo.txt","r") delimitador=str("-") lista=['Hola','Adios','Hoy'] linea = f.readline() aImprimir = "" primera = True while linea != "": palabras = linea.split(" ") for palabra in palabras: for clave in lista: if clave == palabra: if primera: aImprimir+=negro Marroquí 52 Azul Schöffel Cortavientos Poliéster Tamaño El nbsp;chaqueta Verano Amazon Hombre M Color nbsp;– clave primera= False else: aImprimir+=delimitador+clave linea = f.readlineMujer Para Pikolinos Velcro Formales Marrones Zapatos Con RaOWY() print(aImprimir)

El problema esta en que este codigo solo funciona si el archivo leido no tiene saltos de linea, y todas las palabras tienen que estar separadas entre si por un espacio. Esto ultimo no tiene por que ser asi, con solo cambiar la linea:

palabras = linea.split(" "Amazon 52 Cortavientos Schöffel nbsp;chaqueta M Poliéster Marroquí Hombre Color Tamaño Azul negro nbsp;– Verano El M Color Poliéster Amazon nbsp;chaqueta Schöffel Hombre nbsp;– Azul Marroquí negro 52 Cortavientos Tamaño El Verano ) #Entre estos parentesis lo que separe las palabras en el archivo
respondida el 9 feb. a las 19:54
Pasblo
92 10

Tu Respuesta

 

Registrarse o iniciar sesión

Registrarse mediante Google
Registrarse mediante Facebook
Regístrate con email y contraseña

Publicar como invitado

Required, but never shown

Al dar click en "Publica Tu Respuesta", reconoces que has leido nuestros términos de servicio actualizados, la política de privacidad y la política de cookies, y que el uso continuo de este sitio está sujeto a estas políticas.

¿No es la respuesta que buscas? Examina otras preguntas con la etiqueta o formula tu propia pregunta.