Organizador de archivos automatizado usando Tkinter en Python

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *