0% found this document useful (0 votes)
8 views

file manager

The document outlines a Python script for a graphical user interface (GUI) application designed to help graphic designers manage their files and folders. It includes functionalities such as selecting a folder, organizing files by type, renaming files, creating new folders, and deleting files by type. The application utilizes the Tkinter library for the GUI and provides user feedback through message boxes.

Uploaded by

mack.kumar2000
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views

file manager

The document outlines a Python script for a graphical user interface (GUI) application designed to help graphic designers manage their files and folders. It includes functionalities such as selecting a folder, organizing files by type, renaming files, creating new folders, and deleting files by type. The application utilizes the Tkinter library for the GUI and provides user feedback through message boxes.

Uploaded by

mack.kumar2000
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 2

import os

import shutil
from tkinter import Tk, Label, Button, filedialog, messagebox

class FileFolderManager:
def __init__(self, root):
self.root = root
self.root.title("Graphic Designer File Manager")
self.root.geometry("500x350")

Label(root, text="Graphic Designer File Manager", font=("Arial",


16)).pack(pady=10)

Button(root, text="Select Folder", command=self.select_folder,


width=20).pack(pady=5)
Button(root, text="Organize Files by Type", command=self.organize_files,
width=20).pack(pady=5)
Button(root, text="Rename Files", command=self.rename_files,
width=20).pack(pady=5)
Button(root, text="Create New Folder", command=self.create_folder,
width=20).pack(pady=5)
Button(root, text="Delete Files by Type",
command=self.delete_files_by_type, width=20).pack(pady=5)
Button(root, text="Exit", command=root.quit, width=20).pack(pady=5)

self.folder_path = ""

def select_folder(self):
self.folder_path = filedialog.askdirectory()
if self.folder_path:
messagebox.showinfo("Folder Selected", f"Selected Folder:
{self.folder_path}")

def organize_files(self):
if not self.folder_path:
messagebox.showwarning("No Folder Selected", "Please select a folder
first.")
return

for file in os.listdir(self.folder_path):


file_path = os.path.join(self.folder_path, file)
if os.path.isfile(file_path):
file_ext = file.split('.')[-1].lower()
folder_name = os.path.join(self.folder_path, file_ext)
if not os.path.exists(folder_name):
os.makedirs(folder_name)
shutil.move(file_path, folder_name)

messagebox.showinfo("Success", "Files organized by type.")

def rename_files(self):
if not self.folder_path:
messagebox.showwarning("No Folder Selected", "Please select a folder
first.")
return

prefix = filedialog.askstring("Rename Files", "Enter a prefix for


renaming:")
if not prefix:
return

for count, file in enumerate(os.listdir(self.folder_path), start=1):


file_path = os.path.join(self.folder_path, file)
if os.path.isfile(file_path):
ext = file.split('.')[-1]
new_name = f"{prefix}_{count}.{ext}"
new_path = os.path.join(self.folder_path, new_name)
os.rename(file_path, new_path)

messagebox.showinfo("Success", "Files renamed successfully.")

def create_folder(self):
if not self.folder_path:
messagebox.showwarning("No Folder Selected", "Please select a folder
first.")
return

folder_name = filedialog.askstring("Create Folder", "Enter a folder name:")


if not folder_name:
return

new_folder_path = os.path.join(self.folder_path, folder_name)


if not os.path.exists(new_folder_path):
os.makedirs(new_folder_path)
messagebox.showinfo("Success", "Folder created successfully.")
else:
messagebox.showwarning("Exists", "Folder already exists.")

def delete_files_by_type(self):
if not self.folder_path:
messagebox.showwarning("No Folder Selected", "Please select a folder
first.")
return

file_type = filedialog.askstring("Delete Files", "Enter the file extension


to delete (e.g., png):")
if not file_type:
return

deleted_files = 0
for file in os.listdir(self.folder_path):
file_path = os.path.join(self.folder_path, file)
if os.path.isfile(file_path) and file.endswith(f".
{file_type.lower()}"):
os.remove(file_path)
deleted_files += 1

messagebox.showinfo("Success", f"Deleted {deleted_files} .{file_type}


file(s).")

if __name__ == "__main__":
root = Tk()
app = FileFolderManager(root)
root.mainloop()

You might also like