Méthode scandir du module os

La méthode scandir parcourt les fichiers et les sous-dossiers qui se trouvent dans un dossier. Dans le paramètre de la méthode, on spécifie le chemin vers le dossier. La méthode retourne un objet os.DirEntry.

Syntaxe

pythonimport os

os.scandir(chemin vers le répertoire)

Exemple

Découvrons la structure de notre répertoire :

pythonimport os

print(os.scandir('dir'))

En résultat de l'exécution du code, nous obtiendrons un objet os.DirEntry :

python<nt.ScandirIterator object at 0x000001478707FF00>

Exemple

Maintenant, parcourons l'objet obtenu avec une boucle. Afin de libérer les ressources système après la fin de la boucle, il est nécessaire de fermer le parcours à l'aide de la méthode scandir :

pythonimport os

for file in os.scandir('dir'):
  print(file)
  
  os.scandir('dir').close()

Résultat du code exécuté :

python<DirEntry 'dir1'>
<DirEntry 'file1.txt'>
<DirEntry 'file2.txt'>

Exemple

Nous pouvons également afficher uniquement les noms des fichiers en appliquant l'attribut name à l'objet obtenu :

pythonimport os

for file in os.scandir('dir'):
  print(file.name)
  
  os.scandir('dir').close()

Résultat du code exécuté :

pythondir1
file1.txt
file2.txt

Voir aussi

  • l'objet DirEntry du module os,
    qui contient les fichiers et sous-dossiers itérables
  • la méthode getcwd du module os,
    qui retourne le répertoire de travail courant
  • la méthode makedirs du module os,
    qui crée un répertoire
  • la méthode rmtree du module shutil,
    qui supprime récursivement un dossier
  • la méthode copytree du module shutil,
    qui copie récursivement un dossier
  • la méthode path.join du module os,
    qui assemble les chemins