PhotoSort

Программа предназначена для сортировки фотографий по папкам, но также может сортировать и любые другие файлы

from tkinter import *
from tkinter import filedialog
from tkinter import messagebox
from tkinter import ttk
import os
from datetime import datetime
 
 
def choose_dir():
    dir_pass = filedialog.askdirectory()
    e_path.delete(0, END)
    e_path.insert(0,dir_pass)
 
 
def f_start():
    cur_pass = e_path.get()
    if cur_pass:
        for folder, subfolder, files in os.walk(cur_pass):
            for file in files:
                path = os.path.join(folder, file)
                mtime = os.path.getmtime(path)
                date = datetime.fromtimestamp(mtime)
                date = date.strftime("%Y-%m-%d")
                date_folder = os.path.join(cur_pass, date)
                if not os.path.exists(date_folder):
                    os.mkdir(date_folder)
                os.rename(path, os.path.join(date_folder, file))
        messagebox.showinfo('success', 'Обработка завершена')
        e_path.delete(0, END)
        root.destroy()
    else:
        messagebox.showwarning('warning','Выберите папку')
 
root = Tk()
 
root.title('PhotoSort')
winx = 500
winy =100
x = (root.winfo_screenwidth()/2 - winx/2)
y = (root.winfo_screenheight()/2 - root.winfo_reqheight()/2)
root.wm_geometry("%dx%d+%d+%d" % (winx,winy,x, y))
s = ttk.Style()
s.configure('my.TButton', font=("Helvetica", 15))
 
frame = Frame(root, bd=5)
frame.pack(pady=10, padx=10, fill=X)
 
e_path = ttk.Entry(frame)
e_path.pack(side=LEFT, ipady = 1, expand=True, fill=X)
 
btn_dialog=ttk.Button(frame, text="Выбрать папку", command=choose_dir)
btn_dialog.pack(side=LEFT, padx=5)
 
btn_start = ttk.Button(root, text="начать",style="my.TButton", command=f_start)
btn_start.pack(fill=X, padx=10)
 
root.mainloop()