3.01M

Презентация

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 с использованием только стандартной
библиотеки.
English     Русский Правила