2016-01-14 3 views
-3

Я должен написать код Python для чтения файла в следующем формате:Большие текстовые файлы в питона

<doc> 
Hello Word 
</doc> 
<doc> 
Hello blah blah 
</doc> 

Тогда я должен считать, сколько из этих тегов содержит определенное слово.

Например, если я искал слово бла оно должно возвращать 1, и если я искал слово Hello, он должен вернуть 2.

Кроме того, есть ли способ сделать это эффективно? Файлы довольно большие (примерно 250 Мб текста).

+2

Здравствуйте, добро пожаловать в StackOverflow. Пожалуйста, найдите время, чтобы прочитать страницу справки, особенно разделы «Какие темы можно задать здесь?» и «Какие типы вопросов я должен избегать?». И что еще более важно, прочитайте контрольный список вопросов о переполнении стека. Вы также можете узнать о минимальных, полных и проверенных примерах – Arman

+0

Некоторые общие рекомендации: не беспокойтесь об эффективности, пока не получите что-то, что работает. –

ответ

-1

Загрузите файл и прочитайте его по очереди, увеличивая количество вхождений.

# Returns how many times s_string shows up in doc 
def search_for(s_string, doc): 
    count = 0 
    with open(doc) as rfile: 
     for line in rfile: 
      if(line.find(s_string) > -1): 
       count = count + 1 
    return count 
+0

Я уверен, что это было задано раньше, но вот функция, которая сделает это. –

Смежные вопросы