Requisitos previos : Tkinter
La organización de archivos es útil cuando intenta encontrar uno específico en un grupo de archivos y directorios. Parece lento y agotador revisar cada archivo. En los casos en que la cantidad de archivos es demasiado y no tiene idea de dónde encontrarlos exactamente, la organización de archivos es un salvador.
Este artículo analiza cómo se puede hacer esto usando Tkinter. Este módulo creará una GUI que hará que la tarea de buscar un archivo no solo sea rápida sino también interactiva y simple.
Módulos utilizados:
- Tkinter: para crear una interfaz gráfica de usuario
- Os : Para interactuar con carpetas y archivos
- Shutil : para mover archivos a una carpeta específica
Acercarse
- Módulo de importación
- Crear ventana de programa
- Seleccione la carpeta a organizar. Esta función abrirá una ventana donde el usuario seleccionará la carpeta deseada.
- Crear botón para comenzar a organizar archivos
- Agregue un mensaje de retroalimentación, para que el usuario tenga una idea de lo que está sucediendo
- Establecer criterios para los archivos que se seleccionarán. Este artículo organiza los archivos usando su extensión.
- Crear principal
- Bucle de función de llamada a GUI
Programa :
Python3
from tkinter import * from tkinter import filedialog import os import shutil class GUI(Tk): def __init__(self): super().__init__() self.geometry('500x500') def gettingPath(self): self.path = filedialog.askdirectory() return self.path def startButton(self, path_value): self.button_Frame = Frame(self) self.button_Frame.pack() self.start_Button = Button(self.button_Frame, text='Start', command=lambda: self.startOperation( path_value)).grid(row=0, column=0) def startOperation(self, path_value): count = 0 os.chdir(path_value) self.file_list = os.listdir() no_of_files = len(self.file_list) if len(self.file_list) == 0: self.error_label = Label(text="Error empty folder").pack() exit() for file in self.file_list: if file.endswith(".png"): self.dir_name = "PngFiles" self.new_path = os.path.join(path_value, self.dir_name) self.file_list = os.listdir() if self.dir_name not in self.file_list: os.mkdir(self.new_path) shutil.move(file, self.new_path) elif file.endswith(".txt"): self.dir_name = "TextFiles" self.new_path = os.path.join(path_value, self.dir_name) self.file_list = os.listdir() if self.dir_name not in self.file_list: os.mkdir(self.new_path) shutil.move(file, self.new_path) count = count+1 if(count == no_of_files): success = Label(text="Operation Successful!").pack() else: error = Label(text="Failed").pack() if __name__ == '__main__': object = GUI() path = object.gettingPath() object.startButton(path) object.mainloop()
Producción:
Publicación traducida automáticamente
Artículo escrito por adityasangave21 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA