Похожие презентации:
Презентация
1.
OVERVIEWКУРСОВАЯ РАБОТА
Разработка приложения работы с
файлами и каталогами
Студент: Шарипов М.Ф.
Руководитель: Колмогорова С.С.
СПбГЛТУ, кафедра информационных систем и технологий
Санкт-Петербург, 2026 г
2.
Цель и задачи работыЦель: разработать приложение для поиска текстовых
файлов по ключевым словам в папках A–Z.
Основные задачи:
• Сканирование папок A–Z, отбор .txt-файлов
• Загрузка ключевых слов из KeyList.txt
• Построение инвертированного индекса
(регистрозависимо)
• Поиск файлов по выбранному слову
• Открытие файла с подсветкой первого вхождения
3.
Требования к приложению• Функции: сканирование → индексация → поиск →
просмотр с подсветкой
• Надёжность: обработка ошибок (нет файла слов, битые
файлы, пустые папки)
• Регистрозависимость: Hello ≠ hello
• Кроссплатформенность: Python 3 + Tkinter
• Входные данные: папки A–Z, KeyList.txt, .txt-файлы
• Выходные данные: список файлов, окно с подсветкой
4.
Алгоритмы• find_folders – проверка папок A–Z через os.path.isdir
• get_txt_files – сбор .txt-файлов из найденных папок
• load_keywords – чтение KeyList.txt (UTF-8)
• build_index – построение словаря {слово: [список файлов]}
(регистрозависимый поиск подстроки)
• search – выбор слов → объединение списков файлов (через
set)
• open_file – открытие окна, подсветка всех вхождений
(первое – ближайшее к началу)
5.
Структура программыФункциональные модули (вне класса):
• find_folders, get_txt_files, load_keywords, build_index
Класс App:
• Атрибуты: files, index, keywords, files_box, kw_box
• Методы: scan, make_index, search, open_file, run
Графический интерфейс (Tkinter):
• Поле выбора папки, кнопки «Сканировать», «Индекс», «Найти»
• Список файлов (двойной щелчок → открытие)
• Список ключевых слов (множественный выбор)
6.
Тестовые данныеПапка
Файлы
Содержание
A
a.txt, a.bat
"Hello world this is test"
A1
a1.txt
"WORLD IS BIG test hello"
(папка-приманка)
B
b.txt, b1.txt, broken.txt (8 МБ
бинарный)
"WORLD is big", "hello world
TEST", бинарные данные
C
c.txt
"Hello world this is test"
D
d.txt
"nothing here"
E
пустая
–
• Ключевые слова: Hello, test, WORLD
7.
Результаты тестированияТребование
Результат
Сканирование только A–Z (папка A1
игнорируется)
✅
Отбор только .txt (a.bat пропущен)
✅
Формирование полных путей
✅
Загрузка ключевых слов
✅
Регистрозависимый индекс (Hello ≠ hello)
✅
Поиск по слову
✅
Открытие файла + подсветка первого
вхождения
✅
Устойчивость к бинарному файлу (broken.txt)
✅
Пустая папка E – без ошибок
✅
8.
Демонстрация работы (скриншоты)9.
Демонстрация работы (скриншоты)10.
Демонстрация работы (скриншоты)11.
Демонстрация работы (скриншоты)12.
Демонстрация работы (скриншоты)13.
ЗаключениеРазработано приложение, полностью соответствующее ТЗ:
• Сканирует папки A–Z, собирает .txt-файлы
• Строит регистрозависимый индекс по ключевым словам
• Выполняет поиск и отображает результаты
• Открывает файлы с подсветкой первого вхождения
• Устойчиво к ошибкам (битые файлы, пустые папки, отсутствие KeyList.txt)
Программа реализована на Python 3 с использованием только стандартной
библиотеки.