¿Cómo eliminar archivos en Python usando el módulo send2trash?

En este artículo, veremos cómo eliminar archivos y carpetas de forma segura utilizando el módulo send2trash en Python. Usando send2trash , podemos enviar archivos a la Papelera o Papelera de reciclaje en lugar de eliminarlos permanentemente. Las funciones unlink() , remove() y rmdir() del módulo OS se pueden usar para eliminar archivos o carpetas. Pero, estas funciones eliminan los archivos de forma permanente. Las operaciones no se pueden deshacer si se realizaron eliminaciones accidentales. Esto se puede evitar usando send2trash .

Módulos requeridos

  • OS: el módulo OS en Python proporciona funciones para interactuar con el sistema operativo. El módulo del sistema operativo viene con la biblioteca estándar de Python.
  • send2trash: Send2Trash es un pequeño paquete que envía archivos a la Papelera (o Papelera de reciclaje) de forma nativa y en todas las plataformas. Para instalarlo, escriba el siguiente comando en la terminal.
pip install send2trash

Eliminación de un archivo o carpeta

La función send2trash() acepta la ubicación del archivo o carpeta que se va a eliminar.

Python3

import send2trash
  
send2trash.send2trash("/location/to/file")

El proceso de eliminación de un directorio es el mismo que el anterior. Si el directorio contiene archivos u otras carpetas, también se eliminan. Se genera una excepción TrashPermissionError , en caso de que un archivo no se pueda eliminar debido a un error de permiso o cualquier otro motivo inesperado.

Eliminación de archivos específicos en un directorio

Podemos usar la función os.walk() para recorrer un directorio y eliminar archivos específicos. En el siguiente ejemplo, eliminaremos todos los ‘ . txt’ archivos en el directorio dado.

Python3

import os
import send2trash
  
# walking through the directory
for folder, subfolders, files in os.walk('/Users/tithighosh/Documents'):
      
    for file in files:
        
        # checking if file is
        # of .txt type
        if file.endswith('.txt'):
            path = os.path.join(folder, file)
              
            # printing the path of the file
            # to be deleted
            print('deleted : ', path )
              
            # deleting the file
            send2trash.send2trash(path)

Producción :

deleted :  /Users/tithighosh/Documents/cfile.txt
deleted :  /Users/tithighosh/Documents/e_also_big_output.txt
deleted :  /Users/tithighosh/Documents/res.txt
deleted :  /Users/tithighosh/Documents/tk.txt

Publicación traducida automáticamente

Artículo escrito por cosine1509 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 *