Metoda scandir a modulului os

Metoda scandir iterează fișierele și subdirectoarele care se află în director. În parametrul metodei specificăm calea către director. Metoda returnează un obiect os.DirEntry.

Sintaxă

pythonimport os

os.scandir(calea către director)

Exemplu

Să aflăm structura directorului nostru:

pythonimport os

print(os.scandir('dir'))

Ca rezultat al executării codului vom obține un obiect os.DirEntry:

python<nt.ScandirIterator object at 0x000001478707FF00>

Exemplu

Acum să iterăm obiectul obținut cu un ciclu. Pentru a elibera resursele sistemului, după finalizarea ciclului, este necesar să închidem iterarea cu ajutorul metodei scandir:

pythonimport os

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

Rezultatul codului executat:

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

Exemplu

De asemenea, putem afișa doar numele fișierelor, aplicând obiectului obținut atributul name:

pythonimport os

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

Rezultatul codului executat:

pythondir1
file1.txt
file2.txt

Vedeți și

  • obiectul DirEntry al modulului os,
    care conține fișierele și subdirectoarele iterabile
  • metoda getcwd a modulului os,
    care returnează directorul de lucru curent
  • metoda makedirs a modulului os,
    care creează un director
  • metoda rmtree a modulului shutil,
    care șterge recursiv un director
  • metoda copytree a modulului shutil,
    care copiază recursiv un director
  • metoda path.join a modulului os,
    care unește căi