Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

274
Vistas
¿Cómo eliminar un directorio? ¿Se usan os.removedirs y os.rmdir solo para eliminar directorios vacíos?

Cada vez que trato de usarlos para eliminar directorios con cosas en ellos, aparece este mensaje de error

 import os os.chdir('/Users/mustafa/Desktop') os.makedirs('new-file/sub-file') os.removedirs('new-file')

"/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/os.py", línea 170, en removeirs rmdir(name) OSError: [Errno 66] Directorio no vacío: 'nuevo archivo'

Sin embargo, creo que vi a personas que usaban esos comandos para eliminar directorios que no estaban vacíos, entonces, ¿qué estoy haciendo mal? Gracias

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Debería usar shutil.rmtree para eliminar el directorio de forma recursiva:

 import shutil shutil.rmtree('/path/to/your/dir/')

Respuesta a tu pregunta:

¿Se os.removedirs y os.rmdir solo para eliminar directorios vacíos?

Sí, solo se pueden usar para eliminar directorios vacíos.


A continuación se muestra la descripción del documento oficial de Python que lo establece claramente.

os.rmdir(path, *, dir_fd=None)

Eliminar (eliminar) la ruta del directorio. Solo funciona cuando el directorio está vacío ; de lo contrario, se genera OSError. Para eliminar árboles de directorios completos, se puede usar shutil.rmtree().

os.removedirs(name)

Eliminar directorios recursivamente. Funciona como rmdir() excepto que, si el directorio hoja se elimina con éxito, removers() intenta eliminar sucesivamente todos los directorios principales mencionados en la ruta hasta que se genera un error (que se ignora, porque generalmente significa que un directorio principal no está vacío ). Por ejemplo, os.removedirs('foo/bar/baz') primero eliminará el directorio 'foo/bar/baz' y luego eliminará 'foo/bar' y 'foo' si están vacíos . Genera OSError si el directorio hoja no se pudo eliminar con éxito.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda