Задание 11. Поиск информации в файлах и каталогах — теория и разбор
Совет: выделите текст, чтобы спросить у ИИ, или наведите (на телефоне — тапните) на подчёркнутое слово — увидите подсказку.
Задание 11. Поиск информации в файлах и каталогах — теория и разбор
Это практическое задание выполняется за настоящим компьютером с готовым архивом файлов, но сама техника поиска — универсальный навык, который можно освоить и без компьютера, на понятном примере.
Что нужно знать
Задание всегда состоит из двух шагов:
- Найти нужный файл среди множества папок и подпапок — обычно это большой архив текстов (например, папка «Проза» с подпапками по авторам).
- Найти нужный фрагмент внутри файла — открыть файл и через поиск по документу (
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, только сразу по всему архиву, а не по одному файлу за раз.
Похожие материалы
Задание 16. Программирование на языке программирования — теория и разбор
Типовой шаблон решения: цикл + условие делимости + счётчик — разбор примера на Python и Паскале.
Задание 15. Алгоритм для исполнителя Робот — теория и разбор
Команды Робота, циклы «пока свободно» и алгоритм, работающий для поля любого размера — разбор примера и проверка в Python.
Задание 14. Обработка данных в электронной таблице — теория и разбор
СЧЁТЕСЛИ, СУММЕСЛИ и круговая диаграмма для большого массива данных — разбор примера и проверка в Python.
Задание 13.2. Создание текстового документа — теория и разбор
13.2 Текстовый документ
Критерии оценивания текста и таблицы по образцу: отступы, выравнивание, формат файла — разбор примера и чек-лист.
Задание 13.1. Создание презентации — теория и разбор
13.1 Презентация
Критерии оценивания презентации из 3 слайдов: структура, шрифт, изображения, формат файла — разбор примера и чек-лист.
Задание 12. Файловая система: количество и объём файлов — теория и разбор
Маски имён файлов (* и ?) и перевод байтов в килобайты по степеням двойки — разбор примера и проверка в Python.