Объяснение
ИнформатикаЗадание 11. Поиск информации в файлах
Бесплатно

Разбор задания 11. Поиск информации в файлах и каталогах — теория и разбор

Двухшаговая техника поиска: найти файл среди папок, затем найти фразу внутри файла — разбор примера и проверка в Python.

Сохранить и продолжить:

Задание 11. Поиск информации в файлах и каталогах — теория и разбор

Это практическое задание выполняется за настоящим компьютером с готовым архивом файлов, но сама техника поиска — универсальный навык, который можно освоить и без компьютера, на понятном примере.

Что нужно знать

Задание всегда состоит из двух шагов:

  1. Найти нужный файл среди множества папок и подпапок — обычно это большой архив текстов (например, папка «Проза» с подпапками по авторам).
  2. Найти нужный фрагмент внутри файла — открыть файл и через поиск по документу (Ctrl+F) найти конкретную фразу, имя или число, о котором спрашивает задание.

Ответом почти всегда служит слово или короткая фраза из найденного текста — имя героя, название места, число из текста, а не файл целиком. Два шага поиска: найти файл, затем найти фразу внутри

При поиске фразы внутри документа надёжнее искать не всю фразу целиком, а короткий уникальный фрагмент без окончаний — если поиск не находит «мерехлюндии», стоит попробовать «мерехлюнди» без последних букв: точная форма слова в тексте может отличаться падежом или опечаткой.

Практический приём: перед поиском стоит заменить букву «ё» на «е» в поисковом запросе — многие тексты набраны без «ё», и поиск с «ё» может ничего не найти там, где нужный фрагмент есть.

Разбор примера

Представим упрощённый архив с текстами — структура папок:

Проза/
├── Чехов/
│   ├── tri_sestry.txt
│   └── vishnevyy_sad.txt
├── Тургенев/
│   └── otcy_i_deti.txt
└── Гоголь/
    └── revizor.txt

Файл tri_sestry.txt содержит строку: Маша: Сегодня я в мерехлюндии.

Задание: определите, кто из героев произносит фразу со словом «мерехлюндия», и в каком файле это происходит. Структура папок с найденным файлом

Как думать. Раз это художественный текст, а не название файла, слово нужно искать не в именах файлов, а внутри содержимого — то есть открывать файлы по очереди (или использовать поиск по содержимому папки) и применять Ctrl+F уже внутри каждого файла.

Показать решение и ответ

Поиск по названиям файлов ничего не даст — слово «мерехлюндия» не входит в имя файла. Нужно искать по содержимому: последовательно открываем файлы в папке «Чехов» (или запускаем поиск по тексту сразу во всех файлах, если программа это поддерживает) и в каждом делаем Ctrl+F → «мерехлюндия».

Совпадение находится в файле tri_sestry.txt, в строке Маша: Сегодня я в мерехлюндии. — перед репликой стоит имя героини.

Ответ: Маша, файл tri_sestry.txt

Как решить в Python

На экзамене поиск делают руками через Ctrl+F, но для тренировки полезно понимать, что программа делает то же самое — ищет подстроку во всех файлах папки:

import os

root = 'Проза'
query = 'мерехлюнди'  # без окончания — устойчивее к падежам

for dirpath, _, filenames in os.walk(root):
    for name in filenames:
        path = os.path.join(dirpath, name)
        with open(path, encoding='utf-8') as f:
            for line_no, line in enumerate(f, 1):
                if query in line:
                    print(f'{path}:{line_no}: {line.strip()}')

Такой скрипт перебирает все файлы во всех подпапках и печатает строки с совпадением — ровно то же самое, что делает Ctrl+F, только сразу по всему архиву, а не по одному файлу за раз.

Разбор задания 11. Поиск информации в файлах и каталогах — теория и разбор

По этой теме

Шпаргалка для задания 11. Поиск информации в текстовом файле
Бесплатно

Шпаргалка для задания 11. Поиск информации в текстовом файле

Компактная шпаргалка на 2 страницы по заданию 11 ОГЭ информатики «Поиск информации в текстовом файле»: формулы, алгоритм решения и разбор примера — держите под рукой при подготовке.

Шпаргалка для задания 16. Программирование
Бесплатно

Шпаргалка для задания 16. Программирование

Компактная шпаргалка на 2 страницы по заданию 16 ОГЭ информатики «Программирование»: формулы, алгоритм решения и разбор примера — держите под рукой при подготовке.

Шпаргалка для задания 15. Исполнитель Робот
Бесплатно

Шпаргалка для задания 15. Исполнитель Робот

Компактная шпаргалка на 2 страницы по заданию 15 ОГЭ информатики «Исполнитель Робот»: формулы, алгоритм решения и разбор примера — держите под рукой при подготовке.

Шпаргалка для задания 14. Электронные таблицы
Бесплатно

Шпаргалка для задания 14. Электронные таблицы

Компактная шпаргалка на 2 страницы по заданию 14 ОГЭ информатики «Электронные таблицы»: формулы, алгоритм решения и разбор примера — держите под рукой при подготовке.

Разбор задания 11. Поиск информации в файлах и каталогах — теория и разбор | dnnd