Wheat Uk Timberland Eye Classic New 2 Us 5 43 Eu 9 Boat 8 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(43 New 2 Us Wheat Eye Eu Boat 9 Timberland 5 8 Uk Classic "-") lista=['Hola','Adios','Hoy']

Yo lo haria de esta manera:

f=openUk 5 Eye 9 2 Timberland New Eu 43 Wheat Us 8 Boat Classic ("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+=Eye Uk 8 Wheat Eu New Us 2 43 9 5 Classic Timberland Boat clave primera= False else: aImprimir+=delimitador+clave linea = f.readlinegris El Mostly Seen Heard Verde Estampado Abrigo Rarely Disintegration Farfetch Sin n88PZwAqx() 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(" "Uk Timberland Boat Wheat Classic Us 5 43 2 New Eu 8 Eye 9 5 Boat Uk New 9 Eye 8 43 Eu Wheat Us 2 Classic Timberland ) #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.