De scandir-methode van de os-module

De methode scandir itereert over bestanden en submappen die zich in een map bevinden. In de parameter van de methode geven we het pad naar de map op. De methode retourneert een object os.DirEntry.

Syntaxis

pythonimport os

os.scandir(pad naar directory)

Voorbeeld

Laten we de structuur van onze directory achterhalen:

pythonimport os

print(os.scandir('dir'))

Als resultaat van het uitvoeren van de code krijgen we een object os.DirEntry:

python<nt.ScandirIterator object at 0x000001478707FF00>

Voorbeeld

Laten we nu het verkregen object doorlopen met een lus. Om systeembronnen vrij te geven na het voltooien van de lus, is het noodzakelijk om de iteratie te sluiten met de methode scandir:

pythonimport os

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

Het resultaat van de uitgevoerde code:

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

Voorbeeld

We kunnen ook alleen de bestandsnamen weergeven, door het attribuut name op het verkregen object toe te passen:

pythonimport os

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

Het resultaat van de uitgevoerde code:

pythondir1
file1.txt
file2.txt

Zie ook

  • object DirEntry van de module os,
    dat bevat itereerbare bestanden en submappen
  • methode getcwd van de module os,
    die retourneert de huidige werkmap
  • methode makedirs van de module os,
    die een directory aanmaakt
  • methode rmtree van de module shutil,
    die recursief een map verwijdert
  • methode copytree van de module shutil,
    die recursief een map kopieert
  • methode path.join van de module os,
    die paden samenvoegt