Leyendo un archivo en un diccionario y contando

Tengo un archivo de texto con 4 artículos diferentes que contienen palabras, cada artículo está separado por el texto "" :

  Take a look at what I found.  It looks like something dark and shiny.  But how can something be dark and shiny at the same time?  I have no idea. 

Lo que quiero hacer es leer este archivo y convertirlo en un diccionario, y luego contar cuántas veces se usa "" or "ARTICLE>" . De esa forma, cuando busco las palabras "dark and shiny" , aparece la 2ª y 3ª vez que aparece "" .

La palabra para buscar será una variable ingresada por el usuario, y creo que puedo encontrar la forma de buscarlo en el archivo. Solo tengo problemas para descubrir cómo convertir el contenido del archivo en un diccionario y luego mantenerlo. cuente cada vez que aparezca "" or "ARTICLE>" para que cuando un usuario busque una palabra en el archivo, muestre el número del artículo en el que existe la palabra (puede haber varias instancias de la palabra en múltiples artículos).

La salida se vería algo así:

 Input - Word(s) to search for: dark and shiny Output - Word(s) found in articles: 2 3 Input - Read which article?: 2 Output - It looks like something dark and shiny. 

Usando Python 3, gracias.

Esta pregunta me suena a tarea. Así que te daré un algoritmo y te dejaré implementarlo tú mismo:

  1. Crear un diccionario vacío
  2. Mantener un número entero (llamémoslo articleNum ). Comience en 0.
  3. Iterar a través del archivo de entrada (abrirlo para leer primero, preferiblemente usar with )
  4. Si la línea que ve contiene , articleNum .
  5. Si no, repita las palabras en la línea (use line.split() )
  6. Para cada palabra en la línea, compruebe si esa palabra es una clave en el diccionario
  7. Si aún no es una clave en el diccionario, agréguela como una clave al diccionario y haga de su valor una lista, que contenga el valor de articleNum
  8. Si ya es una clave en el diccionario, agregue articleNum al valor de esta clave
  9. Una vez que haya terminado de leer el archivo, como el usuario para la entrada.
  10. Obtenga el valor de la entrada del usuario del diccionario (si la entrada ya es una clave en el diccionario); esto debería ser una lista de enteros
  11. Imprime esta lista de enteros al usuario, como salida

Espero que esto ayude