Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите отсортировать фотографии по дате создания или изменения.

Илья Фамилькин Ученик (102), открыт 3 недели назад
Помогите отсортировать фотографии по дате создания или изменения. Чтобы программа создавала папку с годом, месяцем и по ним раскидала фотки по дате их создания. На python(желательно )
2 ответа
Avis Оракул (90856) 3 недели назад
Помогаю: всё делается через модули os, datetime и shutil.

1.Сперва читаем все файлы в папке через os.listdir(), либо, если если вложенные папки обходим их, например через os.walk(). Получаем полный путь и имя файла.
2.Для каждого файла считываем данные о дате создания и/или изменения. Для этого используется os.path.getctime() и os.path.getmtime() соответственно.
Данные мы получаем в unix-времени, т.е. вплоть до секунд, а нам надо только год и месяц причём строкой и в понятном формате. Через datetime отрезаем лишнее как-то так:

datetime.fromtimestamp(data).strftime('%Y.%B')


Это вернёт нам запись вида '2023.October'. Используем это для создания папки.
3. Папки создаются через os.makedirs('path'). Чтобы не создавать одноименные папки под каждую фотографию надо сперва проверять нет ли уже такой папки по пути path. Допустим, так:
 try: 
os.makedirs(path)
except FileExistsError:
pass
4.Ну и чтобы перемещать файл используется shutil.move(), где в качестве первого аргумента идёт путь прочитанный в п.1+ имя файла, а вторым путь из п.4. + имя файла.
Илья ФамилькинУченик (102) 3 недели назад
Извиняюсь за наглость, но есть ли возможность программку написать?
Похожие вопросы