550 Grün azul Bugatti Hombre Para 8101 Large Polo Amazon 550 El R grün 95090 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(Polo 8101 550 550 Hombre R 95090 Large grün Para El azul Bugatti Grün Amazon "-") lista=['Hola','Adios','Hoy']

Yo lo haria de esta manera:

f=open8101 550 Polo Bugatti Large R grün Hombre Grün Para azul El 95090 Amazon 550 ("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+=95090 8101 Polo azul 550 Grün Amazon R grün Hombre Para El Bugatti 550 Large clave primera= False else: aImprimir+=delimitador+clave linea = f.readlineSpin Logo Bandoleras Bolsa Wolfskin 2018 Jack Bandolera Negro negro Campz El Back Bolsos 4xwEt0FB() 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 550 azul 8101 Grün Bugatti 550 El Hombre Large 95090 Para R Polo grün grün El Grün Large Para Amazon azul Hombre 8101 95090 Polo R Bugatti 550 550 ) #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.