Разработка программы анализа текстового файла на повторяемость слов

Заказать уникальную курсовую работу
Тип работы: Курсовая работа
Предмет: Программирование
  • 24 24 страницы
  • 9 + 9 источников
  • Добавлена 19.08.2024
1 496 руб.
  • Содержание
  • Часть работы
  • Список литературы
ВВЕДЕНИЕ 3
1. PYTHON 5
1.1 Python - высокоуровневый язык программирования 5
1.2 Примеры использования Python 6
2. РАЗРАБОТКА ПРОГРАММЫ АНАЛИЗА ТЕКСТОВОГО ФАЙЛА НА ПОВТОРЯЕМОСТЬ СЛОВ 13
2.1 Описание программы 13
2.2 Разбор кода в программе 14
2.3 Пример работы программы 18
ЗАКЛЮЧЕНИЕ 22
СПИОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 24

Фрагмент для ознакомления

entry.get() try: with open(file_path, 'r', encoding='utf-8') as file: text = file.read() words = re.findall(r'\b\w+\b', text.lower())word_counts = Counter(words)self.text_area.delete(1.0, tk.END)self.text_area.insert(tk.END, "Word repetition analysis:\n") for word, count in word_counts.most_common():self.text_area.insert(tk.END, f"{word}: {count}\n") except FileNotFoundError:self.text_area.delete(1.0, tk.END)self.text_area.insert(tk.END, "File not found!")defsave_results(self):file_path = self.entry.get() results = self.text_area.get(1.0, tk.END) with open(f"{os.path.basename(file_path)}_results.txt", 'w', encoding='utf-8') as file:file.write(results)self.text_area.insert(tk.END, "\nResults saved to file!")defclear_text_area(self):self.text_area.delete(1.0, tk.END)defbrowse_file(self): from tkinter import filedialogfile_path = filedialog.askopenfilename()self.entry.delete(0, tk.END)self.entry.insert(0, file_path)if __name__ == "__main__": root = tk.Tk() app = WordAnalyzer(root)root.mainloop()Эта программа на языке Python создает графический интерфейс пользователя (GUI) с помощью библиотеки Tkinter для анализа повторений слов в текстовом файле. Вот подробное объяснение кода:Импорт модулейСкрипт начинается с импорта необходимых модулей:tkinterastk: Библиотека Tkinter используется для создания GUI.collections: Класс Counter из этого модуля используется для подсчета частоты слов в текстовом файле.re: Модуль регулярных выражений используется для извлечения слов из текстового файла.os: Модуль os используется для получения базового имени пути к файлу.Скрипт определяет класс WordAnalyzer, который представляет GUI-приложение.Метод __init__ инициализирует GUI-приложение. Он создает следующие виджеты:Метку с текстом "Введите путь к файлу:"Поле ввода для ввода пути к файлуКнопку с текстом "Анализировать", которая вызывает метод analyze_file при нажатииТекстовую область для отображения результатов анализаКнопку с текстом "Сохранить результаты", которая вызывает метод save_results при нажатииКнопку с текстом "Очистить", которая вызывает метод clear_text_area при нажатииКнопку с текстом "Обзор", которая вызывает метод browse_file при нажатииМетод analyze_file вызывается при нажатии кнопки "Анализировать". Он:Получает путь к файлу из поля вводаОткрывает файл в режиме чтения и читает его содержимоеИспользует регулярные выражения для извлечения слов из текста (игнорируя регистр)Считает частоту каждого слова с помощью класса CounterОчищает текстовую область и вставляет результаты анализа в формате "Слово: счет\n"Если файл не найден, он отображает сообщение об ошибке в текстовой области.Метод save_results вызывается при нажатии кнопки "Сохранить результаты". Он:Получает путь к файлу из поля вводаПолучает результаты анализа из текстовой областиСохраняет результаты в новый файл с тем же именем, что и оригинальный файл, но с добавлением "_results.txt" в концеМетод clear_text_area очищает текстовую область.Метод browse_file вызывается при нажатии кнопки "Обзор". Он:Открывает диалоговое окно для выбора файлаПолучает выбранный путь к файлу и вставляет его в поле вводаОсновной скриптСкрипт создает экземпляр класса WordAnalyzer и запускает цикл событий GUI с помощью root.mainloop().2.3 Пример работы программыПри запуске программы мы видим следующее окно (Рисунок 1):Рисунок 1 – Окно при запуске программыЧтобы выбрать файл для проверки можно либо вписать путь в верхнем текстовом окне, либо выбрать файл во всплывающем окне при нажатии на кнопку Browse (Рисунок 2).Рисунок 2 – Всплывающее окно для выбора файлаВыберем для примера файл text.txt, в котором текст из начала произведения “Идиот” (Рисунок 3).Рисунок 3 – Содержимое файлаИ при нажатии кнопки Analyze выводится результат работы программы (Рисунок 4)Рисунок 4 – Результат работы программыЕсли результат не умещается в окно, то его можно пролистать с помощью колеса мыши. Также результат можно сохранить для дальнейшей обработки с помощью кнопки SaveResults. Тогда все сохранится в отдельный текстовый файл (Рисунок 5).Рисунок 5 – Сохраненный результат работы программы.Как мы видим чаще всего встречаются союз “и” и предлог “в”ЗАКЛЮЧЕНИЕВ рамках данной курсовой работы была разработана программа WordAnalyzer, которая анализирует повторения слов в текстовом файле и отображает результаты в виде списка с количеством повторений каждого слова. Программа была реализована на языке Python с использованием библиотек Tkinter, collections, re и os.В ходе работы были достигнуты следующие цели:Разработана программа, которая может анализировать текстовые файлы и отображать результаты анализа в виде списка с количеством повторений каждого слова.Реализован графический интерфейс пользователя, который позволяет пользователю вводить путь к файлу, просматривать результаты анализа и сохранять их в новый файл.Использованы эффективные алгоритмы и структуры данных для анализа текстовых файлов и отображения результатов.В ходе разработки программы WordAnalyzer были получены следующие выводы:Разработка программы на языке Python с использованием библиотек Tkinter, collections, re и os является эффективным способом создания программ для анализа текстовых файлов.Использование графического интерфейса пользователя позволяет сделать программу более пользовательской и удобной для использования.Анализ текстовых файлов является важной задачей в различных областях, и разработка программы WordAnalyzer может помочь решить эту задачу.В будущем планируется расширить функциональность программы WordAnalyzer, добавив новые возможности анализа текстовых данных, такие как:Анализ частоты использования слов в зависимости от контекста.Анализтональноститекста.Анализ семантических связей между словами.СПИОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ1. Лутц, М. "Изучаем Python" (Learning Python) — Описание основ языка, его синтаксиса и применения.2. Чарльз, Р. "Python для сложных задач" (PythonforDataAnalysis) — Ресурс о работе с данными, библиотеки Pandas и NumPy.3. Гудар, Э., Ройзман, А. "Python и Django" — Практическое руководство по разработке веб-приложений с использованием Django.4. Мартин, Р. "Чистый код: создание, анализ и рефакторинг" (CleanCode) — Основы написания читаемого и поддерживаемого кода.5. Документация Python (https://docs.python.org) — Официальная документация по языку Python, его библиотекам и инструментам.6. Пакетные менеджеры Python: pip и conda — Статьи и руководство по использованию пакетных менеджеров для установки библиотек.7. Курс "Python для начинающих" на Coursera — Онлайн-курс, охватывающий основные концепции программирования на Python.8. Паттерны проектирования на Python — Обзор популярных паттернов проектирования и применение их в разработке.9. Порядок и безопасность в разработке веб-приложений на Python — Исследование лучших практик для обеспечения безопасности приложений.

1. Лутц, М. "Изучаем Python" (Learning Python) — Описание основ языка, его синтаксиса и применения.
2. Чарльз, Р. "Python для сложных задач" (Python for Data Analysis) — Ресурс о работе с данными, библиотеки Pandas и NumPy.
3. Гудар, Э., Ройзман, А. "Python и Django" — Практическое руководство по разработке веб-приложений с использованием Django.
4. Мартин, Р. "Чистый код: создание, анализ и рефакторинг" (Clean Code) — Основы написания читаемого и поддерживаемого кода.
5. Документация Python (https://docs.python.org) — Официальная документация по языку Python, его библиотекам и инструментам.
6. Пакетные менеджеры Python: pip и conda — Статьи и руководство по использованию пакетных менеджеров для установки библиотек.
7. Курс "Python для начинающих" на Coursera — Онлайн-курс, охватывающий основные концепции программирования на Python.
8. Паттерны проектирования на Python — Обзор популярных паттернов проектирования и применение их в разработке.
9. Порядок и безопасность в разработке веб-приложений на Python — Исследование лучших практик для обеспечения безопасности приложений.