Saltar al contenido

Error de permiso: [WinError 32] El proceso no puede acceder al archivo porque está siendo utilizado por otro proceso

Presta atención ya que en esta reseña hallarás el arreglo que buscas.

Solución:

Su proceso es el que tiene el archivo abierto (a través de im todavía existente). Primero debe cerrarlo antes de eliminarlo.

No sé si PIL es compatible with contextos, pero si lo hiciera:

import os
from PIL import Image

while True:    
    img_dir = r"C:UsersHaroldGoogle Drivewallpapers"
    for filename in os.listdir(img_dir):
        filepath = os.path.join(img_dir, filename)
        with Image.open(filepath) as im:
            x, y = im.size
        totalsize = x*y
        if totalsize < 2073600:
            os.remove(filepath)

Esto se asegurará de eliminar im (y cierre el archivo) antes de llegar a os.remove.

Si no es así, es posible que desee consultar Pillow, ya que el desarrollo de PIL está prácticamente muerto.

Me estaba encontrando con el mismo problema, pero el error era intermitente. Si está codificando su archivo para abrir/cerrar correctamente y aún se encuentra con este error, asegúrese de no sincronizar los archivos con Dropbox, Google Drive, etc. Pausé Dropbox y ya no veo el error.

Esto es básicamente un error de permiso, solo necesita cerrar el archivo antes de eliminarlo. Después de obtener la información del tamaño de la imagen, cierre la imagen con

im.close()

Te mostramos las comentarios y valoraciones de los lectores

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

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