Найти в Дзене
SoftSAR

Сортируем файлы с помощью Python

В данной статье мы напишем полезную утилиту для сортировки файлов по папкам. Многие из нас сталкивались с ситуацией, когда на компьютере накапливалось большое количество не отсортированных файлов, или возникала необходимость сортировки файлов присланных по почте. С помощью Python возможно настроить сортировку файлов в отдельных папках, скачивание файлов с почты (сайта или иного ресурса) и их сортировку по папкам. Актуальна сортировка по расширению и имени файла, а также по-содержимому файла. Для начала необходимо импортировать стандартный модуль os. Данный модуль необходим для создания папок и перемещения файлов. Создадим функцию f_craate_dict_filter для генерации словаря. В качестве ключей в словаре, выступают названия папок, а значениями список с расширениями файлов (фильтры, по которым сортируются файлы). Для гибкости кода будем запрашивать от пользователя название папки и расширения файлов. Используем цикл while и запрашиваем от пользователя пары ключ и значение (название папки

В данной статье мы напишем полезную утилиту для сортировки файлов по папкам.

Многие из нас сталкивались с ситуацией, когда на компьютере накапливалось большое количество не отсортированных файлов, или возникала необходимость сортировки файлов присланных по почте. С помощью Python возможно настроить сортировку файлов в отдельных папках, скачивание файлов с почты (сайта или иного ресурса) и их сортировку по папкам. Актуальна сортировка по расширению и имени файла, а также по-содержимому файла.

Для начала необходимо импортировать стандартный модуль os. Данный модуль необходим для создания папок и перемещения файлов.

Создадим функцию f_craate_dict_filter для генерации словаря. В качестве ключей в словаре, выступают названия папок, а значениями список с расширениями файлов (фильтры, по которым сортируются файлы). Для гибкости кода будем запрашивать от пользователя название папки и расширения файлов. Используем цикл while и запрашиваем от пользователя пары ключ и значение (название папки и список ключевых слов для фильтрации).

Напишем функцию для создания папок из списка названий. Создаем папку Rezult и в ней создаем вложенные папки методом os.mkdir.

Пишем функцию получения списка файлов в папке. Для получения списка файлов используем метод os.scandir.

Переходим к функции сортировки файлов. Циклом проходим по списку файлов и извлекаем в переменные file_name и expansion имя и расширение файла. Вложенным циклом перебираем словарь с фильтрами, ключ фильтра название папки, значение - список расширений файлов. Для каждого ключа в словаре мы проверяем, есть ли расширение файла в списке расширений. Если есть, то перемещаем файл.

Весь код проекта.

Если вам потребуется отсортировать файлы по папкам, вы уже сможете автоматизировать свою работу. Просторы для развития данной утилиты достаточно широкие. Например, можно осуществлять сортировку не по расширению, а по имени файла, или осуществлять сортировку по-содержимому файла.

С уважением, Карян Армен.
Занимаюсь профессиональной разработкой прикладных программ на Python.
email SoftSAR@yandex.ru
Telegram @SoftSar_am