|
3 | 3 | import tkinter as tk
|
4 | 4 | from tkinter import filedialog
|
5 | 5 |
|
| 6 | + |
6 | 7 | class file_sorter:
|
7 | 8 | def __init__(self, root):
|
8 | 9 | self.root = root
|
9 | 10 | self.root.title("File Sorter")
|
10 | 11 | self.root.configure(bg="#333")
|
11 |
| - |
12 |
| - self.select_button = tk.Button(root, text="Select Directory", command=self.select_directory, bg="#555", fg="white") |
| 12 | + |
| 13 | + self.select_button = tk.Button( |
| 14 | + root, text="Select Directory", command=self.select_directory, bg="#555", fg="white") |
13 | 15 | self.select_button.pack(pady=10)
|
14 |
| - |
15 |
| - self.sort_button = tk.Button(root, text="Sort Files", command=self.sort_files, bg="#555", fg="white") |
| 16 | + |
| 17 | + self.sort_button = tk.Button( |
| 18 | + root, text="Sort Files", command=self.sort_files, bg="#555", fg="white") |
16 | 19 | self.sort_button.pack(pady=5)
|
17 |
| - |
| 20 | + |
18 | 21 | self.status_label = tk.Label(root, text="", bg="#333", fg="white")
|
19 | 22 | self.status_label.pack(pady=10)
|
20 |
| - |
| 23 | + |
21 | 24 | def select_directory(self):
|
22 | 25 | self.dir_path = filedialog.askdirectory()
|
23 | 26 | self.status_label.config(text="Selected directory: " + self.dir_path)
|
24 |
| - |
| 27 | + |
25 | 28 | def sort_files(self):
|
26 | 29 | if hasattr(self, "dir_path"):
|
27 | 30 | for filename in os.listdir(self.dir_path):
|
28 | 31 | if os.path.isfile(os.path.join(self.dir_path, filename)):
|
29 | 32 | ext = filename.split(".")[-1]
|
30 | 33 | target_dir = os.path.join(self.dir_path, ext)
|
31 |
| - |
| 34 | + |
32 | 35 | if not os.path.exists(target_dir):
|
33 | 36 | os.makedirs(target_dir)
|
34 |
| - |
| 37 | + |
35 | 38 | source_path = os.path.join(self.dir_path, filename)
|
36 | 39 | target_path = os.path.join(target_dir, filename)
|
37 |
| - |
| 40 | + |
38 | 41 | shutil.move(source_path, target_path)
|
39 |
| - |
| 42 | + |
40 | 43 | self.status_label.config(text="Files sorted successfully.")
|
41 | 44 | else:
|
42 | 45 | self.status_label.config(text="Please select a directory first.")
|
43 | 46 |
|
| 47 | + |
44 | 48 | if __name__ == "__main__":
|
45 | 49 | root = tk.Tk()
|
46 | 50 | app = file_sorter(root)
|
47 | 51 | root.mainloop()
|
48 |
| - |
|
0 commit comments