Método scandir del módulo os
El método scandir recorre los archivos y
subcarpetas que se encuentran en una carpeta. En
el parámetro del método se establece la ruta a la carpeta. El método
devuelve un objeto os.DirEntry.
Sintaxis
import os
os.scandir(ruta al directorio)
Ejemplo
Vamos a conocer la estructura de nuestro directorio:
import os
print(os.scandir('dir'))
Como resultado de ejecutar el código obtendremos
un objeto os.DirEntry:
<nt.ScandirIterator object at 0x000001478707FF00>
Ejemplo
Ahora vamos a recorrer el objeto obtenido
con un ciclo. Para liberar los recursos del
sistema, después de completar el ciclo, es necesario
cerrar el recorrido usando el método scandir:
import os
for file in os.scandir('dir'):
print(file)
os.scandir('dir').close()
Resultado del código ejecutado:
<DirEntry 'dir1'>
<DirEntry 'file1.txt'>
<DirEntry 'file2.txt'>
Ejemplo
También podemos mostrar solo los nombres de los archivos,
aplicando al objeto obtenido el atributo name:
import os
for file in os.scandir('dir'):
print(file.name)
os.scandir('dir').close()
Resultado del código ejecutado:
dir1
file1.txt
file2.txt
Véase también
-
objeto
DirEntrydel móduloos,
que contiene archivos y subcarpetas iterables -
método
getcwddel móduloos,
que devuelve el directorio de trabajo actual -
método
makedirsdel móduloos,
que crea un directorio -
método
rmtreedel móduloshutil,
que elimina recursivamente una carpeta -
método
copytreedel móduloshutil,
que copia recursivamente una carpeta -
método
path.joindel móduloos,
que combina rutas