'
Карасев Д.И.
РАЗРАБОТКА ПРОГРАММЫ, РЕАЛИЗУЮЩЕЙ ДОПОЛНИТЕЛЬНЫЙ ФУНКЦИОНАЛ ДЛЯ ФАЙЛОВОГО МЕНЕДЖЕРА *
Аннотация:
работа посвящена разработке кроссплатформенному программному обеспечению автоматизирующее некоторую рутинную работу в файловой системе ПК, уменьшая обычное затрачиваемое временя пользователем. Рассмотрены аналоги программы и их недостатки. В качестве оптимального подхода берётся настольное приложение, написанное на языке python с использованием СУБД SQLITE и графического интерфейса Tkinter. Разработанная программа обеспечивает доступ к набору функций, автоматизирующих рутинные операции.
Ключевые слова:
рутинные операции, управление файлами, комбинирование выполнения
Тема проекта актуальна, поскольку в настоящее время не существует доступного бесплатного ПО, которое будет объединять в себе множественный функционал по работе с файлами:поиск дубликатов файлов,пакетное переименование файлов,автоматическую сортировку файлов,поиск крупных файлов/папок.Также многие решения не кроссплатформенны, предполагается разработка системы, которая будет работать в разных ОС.Данное ПО должно решать проблему автоматизации рутинных операций с файлами на ПК. Дело в том, что сегодня у пользователей постоянная скапливается множество файлов на ПК, которыми приходится заниматься долго и вручную. Среди этого взаимодействия наиболее часто встречающемся является такие операции с файлами, как: удаление ненужных копий, распределение по директориям, переименование, а также отслеживание. Но в силу постоянного увеличения количество дел, у людей нет не только желания заниматься этим, но и времени.Существующие программы в лучшем случае решают одну или пару представленных проблем. Поэтому нужно разработать ПО, которое будет иметь возможность решать как каждую задачу по отдельности, так и комбинировать эти задачи в разных последовательностях. Это значительно упростит процесс управления файлами для пользователей ПК, а главное сохранит их время на более важные дела.Для ранее формализованных задач теперь нужно рассмотреть возможные методы их решения.1. Поиск и удаление дубликатов файлов.Большинство программ используют алгоритмы MD5 или SHA-256 для вычисления уникальных хешей файлов. Преимуществом этих алгоритмов является высокая точность, так как хеш уникален для каждого файла. Недостатком этих алгоритмов является высокая нагрузка на процессор при обработке больших файлов.Поэтому в качестве оптимизационных мер можно предложить следующее:сравнение сначала по размеру файла, затем по частичному хешу (например, первых 1 МБ данных), чтобы сократить время на общую обработку,использование кэширования хешей для повторных проверок.2. Пакетное переименование файлов.Существующие подходы предполагают использование:шаблонов с переменными вида {дата}_{счетчик}.регулярные выражения для поиска и замены частей имен.Также существующие подходы предполагают предпросмотр изменений, то есть отображение списка изменений до применения, чтобы избежать ошибок.В качестве мер оптимизации можно предложить вести историю перезаписи имен файлов, чтобы можно было при желании отменить действия полностью или частично.При работе с медиафайлами можно использовать EXIF-данные (дополнительную информацию, комментирующую файл, например, исполнитель, год выпуска, страна и т.д.).При этом нужно быть осторожным, чтобы избегать конфликтов имен. При переименовании данные ситуации часто решаются добавлением суффиксов к именам файлов.3. Автоматическая сортировка файлов.Существующие подходы подразумевают использование правил на основе расширений (например, .docx поместить в директорию Документы).Продвинутые методы включают настройку сложных правил (например, сортировка по содержимому).Также следует осуществлять обработку конфликтов при перемещении файлов с одинаковыми именами.4. Поиск крупных файлов и папок.Существующие подходы подразумевают визуализацию содержимого директорий, то есть отображают данные в виде дерева, где размер блоков соответствует занимаемой позиции (сверху файлы более большого размера).Данные подходы также предусматривают рекурсивный обход директорий. Это можно организовать путем обращения к функционалу, предоставляемому самой операционной системой (доступ через библиотеки).Следует обращать внимание, что для сетевых дисков длительность такого сканирования может быть повышенным.5. Комбинирование задач.Зачастую средства решения указанных выше задач уникальны в рамках той или иной задачи по отдельности, но не обладают всем функционалом сразу.Решить вопрос объединения всего функционала можно за счет bash- или Python-скриптов для последовательного выполнения задач.Либо можно применить другой высокоуровневый язык, например, C#, в котором функционал по всем задачам реализовать в виде модулей.Последовательность операций можно также задавать через графический интерфейс приложения.Здесь следует учесть следующее: что делать, если одна операция завершится с ошибкой, тогда последующие могут привести к потере или искажению данных.Скорее всего, если одна из операций не завершилась успешно, нужно прекращать исполнение всей последовательности, или давать этот выбор на усмотрение оператора системы.Преимуществом разрабатываемого ПО является не то, что оно явно более эффективно выполняет каждую задачу по отдельности, а то, что она позволяет объединять все эти (или часть) функции в рамках одного пакетного задания, комбинируя функции в нужную пользователю последовательность.Сравнение функционала аналогов и проектируемой программы представлено в таблице 1.1.Таблица 1.1. Сравнение функционала аналогов и проектируемой программы.В отличие от узкоспециализированных инструментов, разрабатываемое ПО будет объединять все эти функции в одном интерфейсе, позволяя пользователям выполнять сложные операции (например, «удалить дубликаты, затем сортировать и переименовать») без переключения между различными приложениями. Программа предназначена для:ускорения рутинных задач (поиск дубликатов файлов, сортировка, переименование),оптимизации дискового пространства,упрощения работы с большими объемами файлов.Таблица 1.2. Сравнение языков программирования.Сравнение СУБД представлено в таблице 1.3.Таблица 1.3. Сравнение СУБД.Сравнение кроссплатформенных GUI-фреймворков представлено в таблице 1.4.Таблица 1.4. Сравнение кроссплатформенных GUI-фреймворков.В итоге в данном проекте осуществлена разработка программы, реализующей дополнительный функционал для файлового менеджера и операционной системы.Проект выполнялся постепенно. Вначале выполнена формализация задач, когда описан функционал в общем виде, приведены формулы алгоритмов.В отличие от узкоспециализированных инструментов, разрабатываемое ПО будет объединять все эти функции в одном интерфейсе, позволяя пользователям выполнять сложные операции (например, «удалить дубликаты, затем сортировать и переименовать») без переключения между различными приложениями.После этого были обоснованы инструменты разработки:язык Python, потому что он идеально подходит для файловых операций (библиотеки os, shutil, hashlib), применяется для быстрого прототипирования приложения,СУБД SQLite, поскольку она не требует сервера, легко встраивается в десктопное приложение,графический интерфейс на «Tkinter», потому что он поддерживается самим Python, поэтому упрощается запуск ПО на любой машине.
Номер журнала Вестник науки №6 (87) том 1
Ссылка для цитирования:
Карасев Д.И. РАЗРАБОТКА ПРОГРАММЫ, РЕАЛИЗУЮЩЕЙ ДОПОЛНИТЕЛЬНЫЙ ФУНКЦИОНАЛ ДЛЯ ФАЙЛОВОГО МЕНЕДЖЕРА // Вестник науки №6 (87) том 1. С. 1437 - 1445. 2025 г. ISSN 2712-8849 // Электронный ресурс: https://www.вестник-науки.рф/article/23754 (дата обращения: 13.07.2025 г.)
Вестник науки © 2025. 16+
*