← Все вопросы

Задание 8 ОГЭ: как искать нужные строки в текстовом файле?

Задан 5 месяцев назад506 просмотров2 ответа
9

В практической части ОГЭ есть задание, где дают большой текстовый файл и просят найти, сколько раз встречается слово или строка. Как быстро искать в файле, не пролистывая всё руками? Можно ли это сделать через Python?

2 ответа

11
✓ Принятый ответ — помог автору

Задание на поиск в файле можно решать двумя путями: средствами программы (поиск по тексту) или кодом. Через Python — надёжнее и быстрее.

Базовый шаблон на Python:

count = 0
with open('24.txt', encoding='utf-8') as f:
    for line in f:
        if 'нужное_слово' in line:
            count += 1
print(count)

Этот код считает, в скольких строках встречается слово.

Если нужно посчитать ВСЕ вхождения (слово может быть в строке несколько раз):

text = open('24.txt', encoding='utf-8').read()
print(text.count('нужное_слово'))

str.count() считает количество непересекающихся вхождений во всём тексте.

Полезные методы строк:

  • 'abc' in line — есть ли подстрока;
  • line.split() — разбить строку на слова по пробелам;
  • line.startswith('...') / line.endswith('...') — начинается/заканчивается ли.

Частая ошибка: забывают encoding='utf-8' и получают кракозябры или ошибку на русских буквах. Всегда указывайте кодировку при открытии файла с русским текстом.

5

Если код писать не хочется, в текстовом редакторе (Word/LibreOffice/Блокнот) есть «Найти» (Ctrl+F) и «Найти и заменить» (Ctrl+H).

Хитрость: открываете «Заменить», в поле «Найти» пишете искомое слово, в «Заменить на» — то же слово, и жмёте «Заменить все». Программа покажет, сколько замен сделано — это и есть число вхождений. Но Python всё равно точнее, когда нужны сложные условия.

Ваш ответ

Войдите, чтобы ответить на вопрос.