Metoda scandir modułu os

Metoda scandir iteruje przez pliki i podfoldery, które znajdują się w folderze. W parametrze metody podajemy ścieżkę do folderu. Metoda zwraca obiekt os.DirEntry.

Składnia

pythonimport os

os.scandir(ścieżka do katalogu)

Przykład

Sprawdźmy strukturę naszego katalogu:

pythonimport os

print(os.scandir('dir'))

W wyniku wykonania kodu otrzymamy obiekt os.DirEntry:

python<nt.ScandirIterator object at 0x000001478707FF00>

Przykład

Teraz przeiterujmy przez uzyskany obiekt pętlą. Aby zwolnić zasoby systemowe po zakończeniu pętli, należy zamknąć iterator za pomocą metody scandir:

pythonimport os

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

Wynik wykonanego kodu:

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

Przykład

Możemy również wypisać tylko nazwy plików, stosując do uzyskanego obiektu atrybut name:

pythonimport os

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

Wynik wykonanego kodu:

pythondir1
file1.txt
file2.txt

Zobacz też

  • obiekt DirEntry modułu os,
    który zawiera iterowalne pliki i podfoldery
  • metoda getcwd modułu os,
    która zwraca bieżący katalog roboczy
  • metoda makedirs modułu os,
    która tworzy katalog
  • metoda rmtree modułu shutil,
    która rekurencyjnie usuwa folder
  • metoda copytree modułu shutil,
    która rekurencyjnie kopiuje folder
  • metoda path.join modułu os,
    która łączy ścieżki