Os modülünün scandir metodu

scandir metodu, bir klasörde bulunan dosya ve alt klasörleri yineler. Metodun parametresinde klasörün yolunu belirtiriz. Metod os.DirEntry nesnesini döndürür.

Sözdizimi

pythonimport os

os.scandir(klasör yolu)

Örnek

Klasörümüzün yapısını öğrenelim:

pythonimport os

print(os.scandir('dir'))

Kod çalıştırıldığında os.DirEntry nesnesi alırız:

python<nt.ScandirIterator object at 0x000001478707FF00>

Örnek

Şimdi elde edilen nesneyi bir döngü ile yineleyelim. Sistem kaynaklarını serbest bırakmak için döngü tamamlandıktan sonra, scandir metodunu kullanarak yinelemeyi kapatmak gerekir:

pythonimport os

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

Kodun çalıştırılma sonucu:

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

Örnek

Ayrıca, elde edilen nesneye name niteliğini uygulayarak sadece dosya adlarını çıktılayabiliriz:

pythonimport os

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

Kodun çalıştırılma sonucu:

pythondir1
file1.txt
file2.txt

Ayrıca bakınız

  • DirEntry nesnesi,
    yinelenebilir dosya ve alt klasörleri içerir
  • getcwd metodu,
    mevcut çalışma dizinini döndürür
  • makedirs metodu,
    bir dizin oluşturur
  • rmtree metodu,
    bir klasörü özyinelemeli olarak siler
  • copytree metodu,
    bir klasörü özyinelemeli olarak kopyalar
  • path.join metodu,
    yolları birleştirir